Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 用户从一个web应用导航到另一个web应用时CAS身份验证失败_Spring_Spring Security_Cas - Fatal编程技术网

Spring 用户从一个web应用导航到另一个web应用时CAS身份验证失败

Spring 用户从一个web应用导航到另一个web应用时CAS身份验证失败,spring,spring-security,cas,Spring,Spring Security,Cas,我们有两个web应用程序。两者都通过CAS身份验证启用。我们可以从web应用程序(应用程序A)导航到另一个应用程序(应用程序B)。有时,当用户从应用程序A导航到B时,sessionManagementFilter会重定向到会话过期页面。我们得到的是应用程序B的会话无效页面。以下是applicationContext-security.xml文件中的spring配置设置 你知道是什么导致了这个问题吗。迅速的反应是值得赞赏的 <http entry-point-ref="casProcessi

我们有两个web应用程序。两者都通过CAS身份验证启用。我们可以从web应用程序(应用程序A)导航到另一个应用程序(应用程序B)。有时,当用户从应用程序A导航到B时,sessionManagementFilter会重定向到会话过期页面。我们得到的是应用程序B的会话无效页面。以下是applicationContext-security.xml文件中的spring配置设置

你知道是什么导致了这个问题吗。迅速的反应是值得赞赏的

<http entry-point-ref="casProcessingFilterEntryPoint" >
        <custom-filter position="CAS_FILTER" ref="casProcessingFilter" />
    <custom-filter ref="sessionManagementFilter"   before="SESSION_MANAGEMENT_FILTER" />

    <logout logout-url="/j_spring_security_logout.xhtml" logout-success-url="calltoolSecurity{CAS_URL}/logout" invalidate-session="true" />
</http>

<beans:bean id="sessionManagementFilter" class="org.springframework.security.web.session.SessionManagementFilter">
    <beans:constructor-arg name="securityContextRepository" ref="httpSessionSecurityContextRepository" />
    <!-- this permits redirection to session timeout page from javascript/ajax or http -->
    <beans:property name="invalidSessionStrategy" ref="actInvalidSessionStrategy" />
</beans:bean>

<beans:bean id="actInvalidSessionStrategy" class="com.avivausa.api.web.JsfRedirectStrategy">
         <beans:constructor-arg name="invalidSessionUrl" value="/pages/system/errorSessionExpired.xhtml" />
</beans:bean>


请确保两个应用程序使用相同的CAS服务器登录。

两个应用程序使用相同的CAS服务器,但spring security版本不同。CAS应用程序和应用程序A使用spring security 2.0版本,应用程序B使用spring security 3.0版本