Spring Security的核心拦截器
来源:互联网 发布:网络旧体诗 编辑:程序博客网 时间:2024/04/28 21:17
1. HttpSessionContextIntegrationFilter
位于过滤器顶端,第一个起作用的过滤器。
用途一,在执行其他过滤器之前,率先判断用户的session中是否已经存在一个SecurityContext了。如果存在,就把SecurityContext拿出来,放到SecurityContextHolder中,供SpringSecurity的其他部分使用。如果不存在,就创建一个SecurityContext出来,还是放到SecurityContextHolder中,供SpringSecurity的其他部分使用。
用途二,在所有过滤器执行完毕后,清空SecurityContextHolder,因为SecurityContextHolder是基于ThreadLocal的,如果在操作完成后清空ThreadLocal,会受到服务器的线程池机制的影响。
2. LogoutFilter
只处理注销请求,默认为/j_spring_security_logout。
用途是在用户发送注销请求时,销毁用户session,清空SecurityContextHolder,
然后重定向到注销成功页面。可以与rememberMe之类的机制结合,在注销的同时清空用户cookie。
3.AuthenticationProcessing
处理form登陆的过滤器,与form登陆有关的所有操作都是在此进行的。
默认情况下只处理/j_spring_security_check请求,这个请求应该是用户使用form登陆后的提交地址
此过滤器执行的基本操作时,通过用户名和密码判断用户是否有效,如果登录成功就跳转到成功页面
(可能是登陆之前访问的受保护页面,也可能是默认的成功页面),如果登录失败,就跳转到失败页面。
4.DefaultLoginPageGenerati
此过滤器用来生成一个默认的登录页面,默认的访问地址为/spring_security_login,
这个默认的登录页面虽然支持用户输入用户名,密码,也支持rememberMe功能,但是因为太难看了,
只能是在演示时做个样子,不可能直接用在实际项目中。
5. BasicProcessingFilter
此过滤器用于进行basic验证,功能与AuthenticationProcessing
6.SecurityContextHolderAwa
此过滤器用来包装客户的请求。目的是在原始请求的基础上,为后续程序提供一些额外的数据。比如getRemoteUser()时直接返回当前登陆的用户名之类的。
7.RememberMeProcessingFilt
此过滤器实现RememberMe功能,当用户cookie中存在rememberMe的标记,此过滤器会根据标记自动实现用户登陆,并创建SecurityContext,授予对应的权限。
8.AnonymousProcessingFilte
为了保证操作统一性,当用户没有登陆时,默认为用户分配匿名用户的权限。
9.ExceptionTranslationFilt
此过滤器的作用是处理中FilterSecurityIntercepto
10.SessionFixationProtectio
防御会话伪造攻击。有关防御会话伪造的详细信息
11.FilterSecurityIntercepto
用户的权限控制都包含在这个过滤器中。
功能一:如果用户尚未登陆,则抛出AuthenticationCredential
功能二:如果用户已登录,但是没有访问当前资源的权限,则抛出AccessDeniedException“拒绝访问异常”。
功能三:如果用户已登录,也具有访问当前资源的权限,则放行。
所有的过滤器都会实现SpringSecurityFilter安全过滤器。。。
- Spring Security的核心拦截器
- 『转』Spring Security的核心拦截器
- spring security基于aop的方法拦截
- Spring Security和Struts拦截器比较
- 权限学习 -- Spring Security拦截器
- Spring Security的Session管…
- Spring security 命名空间的使用
- spring mvc + spring security 的权限拦截示例
- SPRING SECURITY 拦截静态资源
- Spring Security @PreAuthorize 拦截无效
- spring security插件--获取 登录前被拦截的URL
- [Spring Security 3.1] 关于拦截URL的配置
- Spring Security学习总结
- spring security中核心过滤器的基本作用
- spring security+cas 中…
- spring security rememb…
- spring security 和spring mvc学习
- spring拦截器 拦截springMVC的controller
- 数据挖掘——总结 【未完待续】
- 数据库-除
- mybatis自动生成文件
- KMP模式匹配算法
- slf4j+log4j
- Spring Security的核心拦截器
- 安装mysql
- 使用hexo发布博客
- 免秘钥SSH登陆,切记切换用户
- linux服务开机启动
- servlet的生命周期及线程安全等问题
- [TwistedFate]实例变量可⻅度、⽅法
- 浙大PAT(PAT Basic Level) 1045—— 快速排序
- poj1258prim算法