zoukankan      html  css  js  c++  java
  • spring security原理

    spring security通过一系列过滤器实现其功能,入口过滤器如下(web.xml):

    <filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    其他过滤器调用顺序:

    然后通过org.springframework.security.web.FilterChainProxy过滤器获取以下过滤器列表:

    org.springframework.security.web.context.SecurityContextPersistenceFilter@4976abb4

    org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3ea61bd9

    org.springframework.security.web.authentication.logout.LogoutFilter@469ddd58

    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@443b70fc

    org.springframework.security.web.savedrequest.RequestCacheAwareFilter@386c58c4

    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@361af4c3

    org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1ec59845

    org.springframework.security.web.session.SessionManagementFilter@1e6a7f1

    org.springframework.security.web.access.ExceptionTranslationFilter@5b167571

    org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3a4b2e3c

    然后由内部类 VirtualFilterChain 依次调用这些过滤器实现其认证、授权等功能 (org.springframework.security.web.FilterChainProxy$VirtualFilterChain)

    细节可参考某大牛的文章:

    http://dead-knight.iteye.com/category/220917

  • 相关阅读:
    源码安装jdk
    yum操作的一些笔记
    Tomcat笔记
    源码编译安装zabbix server端和agent端
    用nginx做反向代理时 通过设置让后台真实服务器日志记录客户端的IP
    LVS负载均衡的两种调度模式:NAT和DR
    nginx配置文件详解
    FPGA高级设计——时序分析和收敛(转)
    12个有趣的C语言面试题
    LDO稳压器工作原理
  • 原文地址:https://www.cnblogs.com/fsqsec/p/5231224.html
Copyright © 2011-2022 走看看