【Spring实战】----Security4.1.3认证过程源码分析

123 篇文章 0 订阅
27 篇文章 3 订阅

上一篇的配置中基本上涵盖了认证过程中的各种情况,现通过时序图对其用到的Security源码进行分析

认证时序图



上面两幅图(分别是鉴权过程和认证登录过程)中的操作过程(图中不全)涵盖了下面的

认证过程

如果用户直接访问一个受保护的资源,那么认证过程将如下:

1、FilterSecurityInterceptor对其进行鉴权,没有认证或者没有权限则抛异常给ExceptionTranslationFilter,根据没有认证或者没有权限分别进行处理。

2、没有认证的情况下LoginUrlAuthenticationEntryPoint引导用户进行登录,通常是重定向到一个基于form表单进行登录的页面,具体视配置而定。

3、用户输入用户名和密码后请求认证,UsernamePasswordAuthenticationFilter会户名和密码封装成一个UsernamePasswordAuthenticationToken对象,然后把它传递给AuthenticationManager进行认证。

4、如果认证时用户不存在或者密码错误由SimpleUrlAuthenticationFailureHandler进行处理,跳转到设置的页面(一般是登录页面),上一篇中有说明

5如果认证成功则会保存返回的AuthenticationSecurityContext,然后(SavedRequestAwareAuthenticationSuccessHandler)默认会将用户重定向到之前访问的页面(可以自定义,上一篇中有说明)。

6、用户登录认证成功后再次访问之前受保护的资源时FilterSecurityInterceptor会对用户进行权限鉴定,如不存在对应的访问权限,则AccessDeniedHandlerImpl会返回403错误码(可以自定义返回到指定页面,上一篇中有说明)。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值