spring 中的身份验证机制

Authentication meachanism in spring

我正在阅读 Spring 中身份验证的工作原理,发现有两个过滤器负责身份验证。

AuthenticationProcessingFilter BasicProcessingFilter

所以我在 BasicProcessingFilter::doFilterHttpAuthenticationProcessingFilter::attemptAuthenticationAuthenticationProcessingFilterEntryPoint::commence 中设置了断点,程序没有在其中任何一个停止。

这是否意味着我的 Web 应用程序目前根本没有身份验证机制?

可能跟我定义了一个自定义资源过滤器有关:

<beans:bean id="secureResourceFilter"
    class="my.custom.class.CustomSecureResourceFilter">
    <beans:property name="jdbcSecuredUrlRoleDao" ref="jdbcSecuredUrlRoleDao" />
</beans:bean>

在我的 Spring-security 配置中我没有定义 AuthenticationProcessingFilterBasicProcessingFilter 直接。我只是指定

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

web.xml.

预计如果您使用 Spring 启动,您必须至少配置您的 Spring 上下文。您要么使用 Java 配置,要么使用 XML 文件。

对于 Java 配置:http://docs.spring.io/autorepo/docs/spring-security/3.2.x/guides/helloworld.html 对于 XML 个文件:http://www.springbyexample.org/examples/simple-spring-security-webapp-spring-config.html

请注意,您可以通过在委派过滤器代理中放置一个断点并查看过滤器链来查看您的应用程序中使用了哪些过滤器。子过滤器按顺序应用。