springSecurity工作流程学习
springSecurity执行流程整个程序执行的过程如下:1、容器启动时 通过MyInvocationSecurityMetadataSource # loadResourceDefine 加载系统资源与权限列表resourceMap(一个Map结构,资源[url]为key,权限[auth]为value ) 2、WEB服务器启动,加载security内置的
·
springSecurity执行流程
整个程序执行的过程如下:
1、容器启动时
通过MyInvocationSecurityMetadataSource # loadResourceDefine 加载系统资源与权限列表resourceMap(一个Map结构,资源[url]为key,权限[auth]为value )
2、WEB服务器启动,加载security内置的过滤器链,
HttpSessionContextIntegrationFilter
LogoutFilter
AuthenticationProcessingFilter
DefaultLoginPageGeneratingFilter
BasicProcessingFilter
SecurityContextHolderAwareRequestFilter
RememberMeProcessingFilter
AnonymousProcessingFilter
ExceptionTranslationFilter
SessionFixationProtectionFilter
FilterSecurityInterception
自定义过滤器拦截请求 MyFilterSecurityInterceptor ,并设置在FilterSecurityInterception之前拦截。
给自定义过滤器,注入参数(MyInvocationSecurityMetadataSource,MyAccessDecisionManager,MyUserDetailService)
3、用户登陆
通过 AuthenticationManager 对用户输入的用户名和密码,然后根据用户定义的密码算法和盐值等进行计算并和数据库比对。
4、如果验证成功
通过MyUserDetailsService # loadUserByUsername
生成UserDetails供Spring Security使用。
5、当用户点击某个功能(URL)时。
通过MyAccessDecisionManager # decide
整个程序执行的过程如下:
1、容器启动时
通过MyInvocationSecurityMetadataSource # loadResourceDefine 加载系统资源与权限列表resourceMap(一个Map结构,资源[url]为key,权限[auth]为value )
2、WEB服务器启动,加载security内置的过滤器链,
HttpSessionContextIntegrationFilter
LogoutFilter
AuthenticationProcessingFilter
DefaultLoginPageGeneratingFilter
BasicProcessingFilter
SecurityContextHolderAwareRequestFilter
RememberMeProcessingFilter
AnonymousProcessingFilter
ExceptionTranslationFilter
SessionFixationProtectionFilter
FilterSecurityInterception
自定义过滤器拦截请求 MyFilterSecurityInterceptor ,并设置在FilterSecurityInterception之前拦截。
给自定义过滤器,注入参数(MyInvocationSecurityMetadataSource,MyAccessDecisionManager,MyUserDetailService)
3、用户登陆
通过 AuthenticationManager 对用户输入的用户名和密码,然后根据用户定义的密码算法和盐值等进行计算并和数据库比对。
4、如果验证成功
通过MyUserDetailsService # loadUserByUsername
生成UserDetails供Spring Security使用。
5、当用户点击某个功能(URL)时。
通过MyAccessDecisionManager # decide
根据URl取得 系统资源与权限列表 resourceMap 中的权限集合。与登录用户的权限集合进行循环对比,如果存在相同权限,代表用户具有访问该资源的权利。
更多推荐
已为社区贡献1条内容
所有评论(0)