【Spring实战】----Security4.1.3认证过程源码分析
来源:互联网 发布:最新网络神曲排行榜 编辑:程序博客网 时间:2024/06/04 19:21
上一篇的配置中基本上涵盖了认证过程中的各种情况,现通过时序图对其用到的Security源码进行分析
认证时序图
上面两幅图(分别是鉴权过程和认证登录过程)中的操作过程(图中不全)涵盖了下面的认证过程
如果用户直接访问一个受保护的资源,那么认证过程将如下:
1、FilterSecurityInterceptor对其进行鉴权,没有认证或者没有权限则抛异常给ExceptionTranslationFilter,根据没有认证或者没有权限分别进行处理。
2、没有认证的情况下LoginUrlAuthenticationEntryPoint引导用户进行登录,通常是重定向到一个基于form表单进行登录的页面,具体视配置而定。
3、用户输入用户名和密码后请求认证,UsernamePasswordAuthenticationFilter会户名和密码封装成一个UsernamePasswordAuthenticationToken对象,然后把它传递给AuthenticationManager进行认证。
4、如果认证时用户不存在或者密码错误由SimpleUrlAuthenticationFailureHandler进行处理,跳转到设置的页面(一般是登录页面),上一篇中有说明
5、如果认证成功则会保存返回的Authentication到SecurityContext,然后(SavedRequestAwareAuthenticationSuccessHandler)默认会将用户重定向到之前访问的页面(可以自定义,上一篇中有说明)。
6、用户登录认证成功后再次访问之前受保护的资源时FilterSecurityInterceptor会对用户进行权限鉴定,如不存在对应的访问权限,则AccessDeniedHandlerImpl会返回403错误码(可以自定义返回到指定页面,上一篇中有说明)。
- 【Spring实战】----Security4.1.3认证过程源码分析
- Spring Security4.0.3源码分析之FilterChainProxy执行过程分析
- 【Spring实战】----Security4.1.3鉴权之美--基于投票的AccessDecisionManager实现及源码分析
- 【Spring实战】----security4.1.3认证的过程以及原请求信息的缓存及恢复(RequestCache)
- 【Spring实战】----源码解析Spring Security4.1.3中的过滤器Filter配置
- Spring Security4.0.3源码分析之FilterChainProxy初始化
- Spring Security4.0.3源码分析之http标签解析
- Spring Security4.0.3源码分析之authentication-manager标签解析
- Spring Security4实战与原理分析视频课程( 扩展+自定义)
- 【Spring实战】----spring security4.1.3配置以及踩过的坑
- Maven+Spring security4.2.3的教程和源码
- Spring Security3源码分析(18)-认证授权分析
- spring security4 之 csrf
- spring security4 之 logout
- spring security4 之 SSO
- spring security4 详细配置
- Spring Security4 学习文档
- spring Security4 和 oauth2整合 注解+xml混合使用(替换用户名密码认证)
- Cookie和Session的作用和工作原理
- (三)输出函数
- mfc输入输出自定义内容
- python入门基础0
- spring4在多态配置上的应用
- 【Spring实战】----Security4.1.3认证过程源码分析
- Caffe学习系列(12):训练和测试自己的图片
- Android NDK 介绍
- C++ vector容器
- 《第一行代码》学习笔记--Android入门(五、六)
- sqlite中文乱码问题原因分析及解决(utf8和ascii相互转换)
- 解决ubuntu16.04下chrome安装flash插件的问题
- SLAM浅析
- WSDL(WebServerDiscriptionLanguage)