如何防止 JA-SIG CAS spring 安全重定向循环?
Posted
技术标签:
【中文标题】如何防止 JA-SIG CAS spring 安全重定向循环?【英文标题】:How to prevent JA-SIG CAS spring security redirect loop? 【发布时间】:2012-01-11 17:21:13 【问题描述】:我将 grails 与 spring security 和 JA-SIG CAS spring security 插件一起使用。
我遇到此问题的一种方法是当我登录到 CAS 服务器并重新启动我的应用程序时。
另一种方法是,如果我通过同一个 CAS 服务器登录到另一个应用程序,然后当我访问我的应用程序时,spring 会报告我已注销。如果我尝试访问安全页面,那么登录控制器会将浏览器发送到相同的重定向循环中。
我可以观察到正在重定向回应用程序的 cas 服务器的 get 请求流。
基本上问题是 Spring Security 不知道我已经登录到 CAS 服务器,所以弹回 CAS 服务器,说我已登录并弹回应用程序
我也在使用单点注销。一种解决方法是在应用程序认为有人未登录时强制重新登录,但这并不是一个真正令人满意的解决方案。
【问题讨论】:
【参考方案1】:基本上问题是 Spring Security 不知道我已经登录到 CAS 服务器,所以弹回 CAS 服务器,说我已登录并弹回应用程序
查看PreAuthentication 文档。你必须实现一个 pre-auth-filter 来让 Spring 知道外部身份验证。
【讨论】:
以上是关于如何防止 JA-SIG CAS spring 安全重定向循环?的主要内容,如果未能解决你的问题,请参考以下文章
CAS服务器认证成功后,如何使Spring安全将用户重定向到原始请求的页面