• SpringSecurity——默认过滤器链


     介绍Spring Security默认的过滤器链,介绍顺序按照过滤器在过滤器链中的顺序排序

    1、WebAsyncManagerIntegrationFilter
    将Security上下文与Spring Web中用于处理异步请求映射的 WebAsyncManager 进行集成。

    2、SecurityContextPersistenceFilter
    在每次请求处理之前将该请求相关的安全上下文信息加载到SecurityContextHolder中,然后在该次请求处理完成之后,将SecurityContextHolder中关于这次请求的信息存储到一个“仓储”中,然后将SecurityContextHolder中的信息清除

    例如在Session中维护一个用户的安全信息就是这个过滤器处理的。

    3、HeaderWriterFilter
    用于将头信息加入响应中

    4、CsrfFilter
    用于处理跨站请求伪造

    5、LogoutFilter
    用于处理退出登录

    6、UsernamePasswordAuthenticationFilter
    用于处理基于表单的登录请求,从表单中获取用户名和密码。默认情况下处理来自“/login”的请求。
    从表单中获取用户名和密码时,默认使用的表单name值为“username”和“password”,这两个值可以通过设置这个过滤器的usernameParameter 和 passwordParameter 两个参数的值进行修改。

    7、DefaultLoginPageGeneratingFilter
    如果没有配置登录页面,那系统初始化时就会配置这个过滤器,并且用于在需要进行登录时生成一个登录表单页面。

    8、BasicAuthenticationFilter
    处理请求头信息,DigestAuthenticationFilter

    9、RequestCacheAwareFilter
    用来处理请求的缓存

    10、SecurityContextHolderAwareRequestFilter

    11、AnonymousAuthenticationFilter

    12、SessionManagementFilter

    13、ExceptionTranslationFilter
    处理 AccessDeniedException 和 AuthenticationException 异常

    14、FilterSecurityInterceptor
    AbstractInterceptUrlConfigurer.createFilterSecurityInterceptor

  • 相关阅读:
    第2章 NIO入门
    Docker Compose命令详解
    网络层相关术语解释
    linux查看并发连接数
    带宽计算方法
    ELK日志分析平台搭建
    mysql查找json格式列的指定字段值
    Oracle性能优化
    修改hosts文件不需要重启的方法
    freeswitch的internal的profile无法启动
  • 原文地址:https://www.cnblogs.com/weilu2/p/springsecurity_default_filter_chain.html
Copyright © 2020-2023  润新知