我正在使用Spring Security 3.2.4并尝试确定从何处获取其默认配置。例如,使用以下配置时:
<http use-expressions="true">
<intercept-url pattern="/secure/login" access="permitAll" />
<intercept-url pattern="/secure/logout" access="permitAll" />
<intercept-url pattern="/secure/denied" access="permitAll" />
<session-management session-fixation-protection="migrateSession" session-authentication-error-url="/login.jsp?authFailed=true">
<concurrency-control max-sessions="10" error-if-maximum-exceeded="true" expired-url="/login.html" session-registry-alias="sessionRegistry"/>
</session-management>
<intercept-url pattern="/**" access="isAuthenticated()" />
<form-login login-page="/secure/login" default-target-url="/" authentication-failure-url="/secure/denied" />
<logout logout-url="/secure/logout" logout-success-url="/" />
<expression-handler ref="defaultWebSecurityExpressionHandler" />
</http>
Spring配置中的某些东西,告诉Spring实例化LoginUrlAuthenticationEntryPoint
并将登录页面设置为“/ secure / login”等等。我意识到它是form-login
标签正在为我做这个魔术,但是在Spring中,form-login
标签被翻译为LoginUrlAuthenticationEntryPoint等?
同样,默认情况下,Spring将实例化一个名为org.springframework.security.filterChains
的过滤器链,但无法找到该bean的定义位置。我认为它是在一个Spring Security jar中的xml配置文件中,但我无法在任何地方找到它。
所有这些默认配置在哪里?
答案 0 :(得分:3)
查看SecurityNamespaceHandler,然后从那里开始。如您所见,它位于spring-security-config工件中,位于包org.springframework.security.config
中。