Spring Security笔记

SecurityContextPersistenceFilter位于过滤器顶端,是第一个起作用的过滤器

其作用:

    1.执行其他过滤器之前率先判断用户的session是否存在Spring Security上下文的SecurityContext
       如果存在,则取出来放入SecurityContextHolder,供Spring Security其他部分使用;
       如果不存在,则创建一个,同样放入SecurityContextHolder中;
    2.在所有过滤器执行完毕以后,清空SecurityContextHolder里的内容。因为SecurityContextHolder是基于THREADLOCAL,如果服务结束没有清空threadlocal,会受到服务器的线程池机制的影响
    ps:ThreadLocal是线程内共享,线程间互斥

        
LogoutFilter只处理注销请求,用途是在用户发送注销请求时,销毁用户的session,清空SecurityContextHolder的内容,然后重定向到注销成功页面,可以与remember me相结合,销毁用户的cookie

 

AbstractAuthenticationProcessingFilter处理from登录处理器,通过用户名和密码判断用户是否有效

 

DefaultLoginPageGeneratingFilter用来生成默认的登录页面

 

BasicAuthenticationFilter用来进行basic验证,与AbstractAuthenticationProcessingFilter类似,除了验证方式

 

SecurityContextHolderAwareRequestFilter用来包装用户的请求,目的是在原来的请求的基础上,为后续程序提供一下额外的数据

 

RememberMeAuthenticationFilter实现的是remember me功能,当用户的cookie存在remember me的标记时,它会根据标记自动实现用户登录,并创建SecurityContext,授予对应的权限;依赖cookie实现,当用户登录成功以后,会生成唯一的标识保存到用户那边

 

ExceptionTranslationFilter处理FilterSecurityInterceptor抛出的异常,然后将请求重定向;

 

SessionManagementFilter为防御会话比照攻击

 

FilterSecurityInterceptor用户的权限控制都包含在这

作用:

        1.如果用户尚未登录,抛出尚未登录的异常
         2.如果用户已登录,但是没有资源访问权限,抛出拒绝请求的异常
         3.如果用户已登录,又有权限,则放行

 

如有错误,欢迎指出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值