我们有几个webapps,以及针对同一个Jasig CAS实例进行身份验证的外部设备。这对tomcat 6.0.29运行良好,但升级到6.0.33之后一切都破了。
我们发现这是我们的验证过滤器重定向问题,因为在我们的CAS验证过滤器中添加以下init-param
修复了我们的webapps之间的通信:
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>false</param-value>
</init-param>
我们最终了解到这是必要的,因为tomcat 6.0.33默认情况下将此设置为true,最初设置为false。问题是,现在我们的外部移动设备无法完成完整的身份验证会话,因为它没有重定向。
移动设备成功验证,但在验证后,我们发送了一个http内部服务器错误500和kaputs没有有用的调试日志记录。将redirectAfterValidation
init-param值更改为true
会修复此问题。
我的问题是,如果之前使用默认值false
,那么为什么现在不能正常工作?我没有看到6.0.33中的另一个变化吗?对不起,如果这个问题有点模糊,我会尽量在被问到时添加。
答案 0 :(得分:0)
此问题与CAS服务器上的错误循环检测有关,因为URL重写以清除标头中的jsessionid。在tomcat服务器设置中将disableURLRewriting
设置为true可修复此问题。