我们有两个 Web 应用程序。两者都启用了 CAS 身份验证。我们可以从 Web 应用程序(应用程序 A)导航到另一个(应用程序 B)。当用户从应用程序 A 导航到 B 时,有时 sessionManagementFilter 会重定向到会话过期页面。我们正在为应用程序 B 获取会话无效页面。这是 applicationContext-security.xml 文件中的弹簧配置设置。
任何想法是什么导致了这个问题。迅速的反应是可观的。
<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>