源码地址:学习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的加密解密
三,配置自定义异常处理
认证,授权的异常写自己特有的方法。这里只是演示