Spring Security PreAuthentication令牌异常

时间:2016-05-10 00:41:49

标签: java rest spring-mvc spring-security

我有一个带有Spring Security 4.0.4的Spring 4.2.5 MVC REST后端,我正在使用" SiteMinder"我希望有一个身份验证令牌的示例。

<beans:bean id="tokenFilter" class="org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter">
    <beans:property name="principalRequestHeader" value="auth_token"/>
    <beans:property name="authenticationManager" ref="authenticationManager" />
</beans:bean>

<beans:bean id="preauthAuthProvider" class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider">

<beans:property name="preAuthenticatedUserDetailsService">
        <beans:bean id="userDetailsServiceWrapper"  class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
            <beans:property name="userDetailsService" ref="customUserDetailsService"/>
        </beans:bean>
    </beans:property>

</beans:bean>

我有一个&#34; userDetailsS​​ervice&#34;详细信息类,这对我来说是预期的,并且单元测试不会失败。但是,我确实想要一些例外,例如。登录页面等。

所以,这是我的spring-security.xml文件的一部分:

<intercept-url pattern="/test/getStat/**" access="hasRole('WEB')" />
<intercept-url pattern="/test/getData/**" access="hasRole('WEB')" />

<intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/login/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

 <intercept-url pattern="/login/user/*/pwd/*" access="IS_AUTHENTICATED_ANONYMOUSLY" />

<intercept-url pattern="/index.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="index.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />

我尝试过访问=&#34; permitAll&#34;和#34; IS_AUTHENTICATED_ANONYMOUSLY&#34;和其他一些技巧。似乎每个URL都需要令牌...我只是想让网址跳过该检查。所以,不确定我错过了什么。

非常感谢任何帮助。

0 个答案:

没有答案