Spring Security认证流程及具体实现细节
2022-04-20 18:25:14 10 举报
Spring Security认证流程及具体实现细节
作者其他创作
大纲/内容
具体细节
是
创建一个未认证Token
操纵SecurityContextHolder设置认证上下文
否
擦除敏感信息
抛出异常
返回认证成功的凭证
调用successHandler.onAuthenticationSuccess方法执行登录成功处理
调用failureHandler.onAuthenticationFailure方法执行登录失败处理
调用子类attemptAuthentication方法获取完成认证的用户凭证
获取用户名密码
是否还有下一个认证器
是否为post请求
调用rememberMe登录失败逻辑
操纵SecurityContextHolder清空认证上下文
调用认证管理器的authenticate方法进行认证并返回认证结果
调用unsuccessfulAuthentication方法进行认证失败处理
以上执行过程是否有异常产生
认证器是否可以处理当前凭证
存储未认证Token
调用successfulAuthentication方法进行认证成功处理
父类认证是通过
进入下一个Filter
UsernamePasswordAuthenticationFilter.attemptAuthentication
验证是否为post请求
将原始凭证中的用户信息拷贝到认证通过的凭证中
调用父类认证器进行认证
是否认证通过
认证是否通过
进入下一个认证器
调用rememberMe登录成功逻辑
调用认证器的authenticate进行认证
通过session策略保存用户凭证
AbstractAuthenticationProcessingFilter.doFilter
向全局发送认证成功通知
ProviderManager.authenticate
0 条评论
下一页