1.基本原理(绿色可以在过滤链上去除)

image.png

2.自定义用户认证逻辑

2.1入门体验

1.pom文件

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-security</artifactId>
  4. </dependency>

2.编写一个业务接口
3.启动并访问其中一个接口(SpringSecurity会自动要求我们进行认证)
image.png
4.在控制台寻找密码,并使用user用户名登录

image.png

2.2配置所要过滤的接口

1.实现WebSecurityConfigurationAdapter类,并实现HttpSecurity参数的类

  1. @Configuration
  2. @EnableWebSecurity
  3. public class SecurityConfig extends WebSecurityConfigurerAdapter {
  4. @Override
  5. protected void configure(HttpSecurity http) throws Exception {
  6. super.configure(http);
  7. }
  8. }

2.查看默认的配置
image.png
3.配置详解

2.3配置认证逻辑

1.需要继承UserDetailService:业务逻辑层
image.png

image.png

image.png

image.png

image.png
image.png

image.png

OAuth,

image.png

image.png

image.png

image.png

image.png

①密码用户名—> usernamepasswordAuthenticationFilter,组成一个 usernamepasswordtoken对像
②token —> authManage
③authenManage从 一堆 Provider中找一个 Provider 去 校验 token ,认证依据就是 每个Provider的support的方法
④Provider会调用 UserDetailService

applications/mobile
SmsAuthenticationFilter ——>SmsToken—->AuthenMange(系统唯一)—->提供SmsAuthenticationProvider—->

image.png
一个小技巧:
@Autowire
Map 会将 这种类型的所有类 注入到这个 Map中

SpringSocial
OAuth协议:
角色:服务提供商 Provider (认证服务器 ,资源服务器)

资源所有者:用户
第三方client
image.png
授权码 简化 密码 客户端模式

image.png

image.png

image.png

Oauth2oPERATION :1~5
aPI: 第6步
7:ConnectFactory —》 Connection (标准的数据结构)如何适配
UserConnectDB (uid ->三用户细心)
image.png
image.png

image.png

social提供了bind 信息
Session超时 : 最少1分钟
Session多台登录 :通过配置maxSession 通过配制 一个接口可以
Session集群:session。
将session=放独立存储中。Spring-session。

loginouthandler和url不可共存