一、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,登录切有权限,放行。