聊一聊spring-security

来源:互联网 发布:js添加数组元素 编辑:程序博客网 时间:2024/05/10 21:52

前言

入口配置

从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>

springSecurityFilterChain是如何初始化的呢?在哪里定义?

spring-security-config-4.0.3.RELEASE.jar的META-INF/spring.handlers里面

http\://www.springframework.org/schema/security=org.springframework.security.config.SecurityNamespaceHandler

SecurityNamespaceHandler实现了NamespaceHandler接口,init(),parse(),decorate()方法。

parsers.put(Elements.HTTP, new HttpSecurityBeanDefinitionParser());

接着看HttpSecurityBeanDefinitionParser。

DelegatingFilterProxy是springSecurityFilterChain的代理,这个不多说了,代码很清晰。那么问题又来了。

为什么需要DelegatingFilterProxy代理springSecurityFilterChain?

后续解答。
HttpSecurityBeanDefinitionParser

DelegatingFilterProxy是作何作用?

spring-security和interceptor的执行先后顺序?

hasRole()和hasAnyRole()是在哪个类、如何起的作用?

sso和spring-security是如何继承的呢?

后面会一一解答

1 0
原创粉丝点击