2012-05-17 60 views
0

我們有兩個Web應用程序。兩者都啓用CAS認證。我們可以從Web應用程序(應用程序A)導航到另一個應用程序(應用程序B)。當用戶從應用程序A導航到B時,sessionManagementFilter有時會重定向到會話過期頁面。我們正在爲應用程序B獲取會話無效頁面。以下是我們在applicationContext-security.xml文件中的spring配置設置。當用戶從一個Web應用程序導航到另一個Web應用程序時,CAS驗證失敗

任何想法是什麼導致問題。及時的迴應是可觀的。

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

回答

0

請確保兩個應用程序使用相同的CAS服務器登錄。

+0

這兩個aplications都使用相同的CAS服務器,但是spring安全版本不同.CAS應用程序和應用程序A使用spring security 2.0版本,而Application B使用spring security 3.0版本 – Sydaiah

相關問題