我有一个简单的身份验证提供程序,正在尝试与 Spring Security 一起使用。
<security:http auto-config="true" use-expressions="true">
<security:intercept-url pattern="/**" access="isAuthenticated()" />
</security:http>
<security:authentication-manager>
<security:authentication-provider
ref="ipAddressAuthenticationProvider" />
</security:authentication-manager>
目前,通过上述配置,用户在第一次访问时被重定向到登录页面。我不想要这个重定向。我试图在每次访问页面时都访问此身份验证提供程序。有什么方法可以在不编写额外的自定义代码的情况下完成这项工作?
我猜我需要以某种方式彻底摆脱表单过滤器和基本过滤器。
结果
我让它与下面的配置一起工作。我不得不AbstractPreAuthenticatedProcessingFilter
简单地扩展return "";
它的两个抽象方法。
<security:http use-expressions="true" entry-point-ref="http403ForbiddenEntryPoint">
<security:intercept-url pattern="/**" access="isAuthenticated()" />
<security:custom-filter position="PRE_AUTH_FILTER" ref="preAuthFilter" />
</security:http>
<bean id="preAuthFilter" class="com.hercules.ratinggame.business.security.IpAddressPreAuthenticationFilter">
<property name="authenticationManager" ref="authenticationManager"/>
</bean>
<bean id="http403ForbiddenEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider
ref="ipAddressAuthenticationProvider" />
</security:authentication-manager>