首页 > 代码库 > spring security中的过滤器

spring security中的过滤器

一、SS的默认过滤器

当配置的http是自动配置时,默认要经过SS的11个过滤器:

1,HttpSessionContextintegrationFilter:把session中的securitycontext放入securitycontextHolder中,用完后清空;

2,LogoutFilter:处理注销请求,默认请求地址为:/j_spring_security_logout;

3,AuthenticationProcessingFilter:认证过滤器,处理FROM登录,默认只处理:/j_spring_security_check;

4,??DefaultLoginPageGeneratingFilter??:spring自带的登录界面,无皮肤,一般用于测试,默认地址是:/j_spring_security_login,支持用户名密码和rememberMe;

5,BasicProcessingFilter:Basic认证。功能与3类似;

6,SecurityContextHolderAwareRequestFiler:包装客户请求,为后续程序提供一些额外数据;

7,RememberMeProcessingFilter:实现‘记住我’功能;

8,AnonymousProcessingFilter:匿名登录过滤器,为没有登录的用户分配匿名权限(匿名也需要权限,不然只能看见登录页面);

9,ExceptionTranslationFilter:处理FilterSecurityInterceptor跑出的异常;

10,SessionFixationProtectionFilter:防御会话伪造攻击过滤器;

11,FilterSecurityInterceptor:用户权限过滤器,过滤出三种情况:

a,用户未登录:AuthenticationCredentialsNotFoundException“尚未认证异常”;

b,登录无权限:AccessDeniedException“拒绝访问异常”;

c,登录切有权限,放行。



spring security中的过滤器