用户登陆验证流程
1、登陆验证流程图
如上图,spring security 的基本登陆验证:
相关介绍:
a、UsernamePasswordAuthenticationFilter 是基本的过滤链,实际不是默认的,BasicAuthenticationFilter是其默认的验证登陆的过滤链。
b、ExceptioTransactionFilter这个过滤器是专门捕获FilterSecurityInterceptor过滤链的异常
c、FilterSecurityInterceptor过滤器是最后的过滤器,通过它的验证即可进行对API的访问。
举一个简单示例:假如未进行验证的用户知道接口的存在路径,直接对接口进行访问,这时,他会直接进入FilterSecurityInterceptor过滤器,但是未进行验证,FilterSecurityInterceptor过滤器就会抛出异常,这时ExceptioTransactionFilter过滤器就会捕获这个异常,分析并抛给UsernamePasswordAuthenticationFilter过滤器,或者过滤器链的其它过滤器。
上图是基本的认证流程。
- security安全框架有点不同:
1、用户名、密码组合生成一个AuthenticationToken对象。
2、生成的这个token对象会传递给一个AuthenticationManager对象用于验证。
3、当成功认证后,AuthenticationManager返回一个Authentication对象。
4、接下来,就可以调用AuthenticationSuccessHandler成功处理器跳转首页或者登录之前访问的url。
总结:想写一个基于前后台分离开发,springsecurity的配置系列文章[单机版,cloud版]。马上更新!