源码地址:学习springSecurity (gitee.com)
git:https://gitee.com/misszyg/spring-security.git
一,认证流程

1,经过UsernamePasswordAuthenticationFilter
(1)传入了用户的账号,密码

源码:
返回了UserDetails

写一个属于我们自己登陆用的类实现这个类

UserDetails写了一个接口方法,用来查询用户名

我们也需要写,不过返回的是我们自己写的类。用来实现我们自己的功能


结束
(2)交给AuthenticationManager的authenticate的方法认证


(3)认证通过后获得user类 在 authentication(对象).getPrincipal()(属性)中

二,拦截效验请求

我们对登录接口不做拦截校验token

登录进去后,生成token,用户信息存redis。当该用户发起其他请求时。就需要校验token了。
我们使用的jwt方式,就需要jwt的加密解密


三,配置自定义异常处理
认证,授权的异常写自己特有的方法。这里只是演示

1,自定义授权失败异常处理类

2,自定义认证异常处理类
