小编Jos*_*ito的帖子

使用Grails Spring Security CAS插件重定向循环

我正在使用涉及CAS服务器的项目与使用单点登录(SSO)的其他基于Spring的项目一起工作,但我收到一个涉及Grails spring-security-cas插件的重定向循环(版本:":spring-security- CAS号:2.0 RC1" ).我查看了插件的文档.我知道CAS重定向问题看起来很常见,但我还没有找到与此类情况相关的帖子.我是Grails和CAS世界的新手,所以我们提前感谢您向正确的方向努力.

访问grails应用程序上的安全页面最初会使用相应的服务参数正确地重定向到CAS服务器登录页面:https:// example.com:8443/cas/login?service = http:// example.com:8080/grailsapp/j_spring_cas_security_check

用户成功登录并CAS重定向回服务后,会出现此问题.grails应用程序中的j_spring_cas_security_check将重定向回https://example.com:8443/cas登录页面,该页面会看到TGC并重定向回服务j_spring_cas_security_check页面,该页面无限制地重定向[直到浏览器提供重定向循环错误].看起来每次迭代都会创建新的服务票据.

我的Config.groovy有:

grails.plugin.springsecurity.cas.loginUri = /login
grails.plugin.springsecurity.cas.serviceUrl = http://example.com:8080/grailsapp/j_spring_cas_security_check
grails.plugin.springsecurity.cas.serverUrlPrefix = https://example.com:8443/cas
# we aren't using cas with proxy
# logout details not shown here
Run Code Online (Sandbox Code Playgroud)

根据其他问题/答案尝试了不成功的尝试:

  • 我不认为问题出在cas服务器上:当我直接转到另一个已经使用CAS的项目时,他们检测到票证cookie并登录就好了而用户不必再进行身份验证.
  • SSL证书是自签名的,并已添加到Java的cacert商店.不会发生SSLHandshake或与证书相关的异常等.
  • 这不是一个糟糕的凭据或代理情况,如问题19710841,但我已经尝试将/ j_spring_cas_security_check添加到Annotation staticRules,但仍然获得相同的循环.

cas服务器的日志包括:

=============================================================
WHO: [username: sampleuser]
WHAT: supplied credentials: [username: sampleuser]
ACTION: AUTHENTICATION_SUCCESS
APPLICATION: CAS
WHEN: Fri Jan 03 23:52:41 GMT 2014
CLIENT IP ADDRESS: XXX.XXX.XXX.XXX
SERVER IP ADDRESS: example.com
=============================================================
=============================================================
WHO: …
Run Code Online (Sandbox Code Playgroud)

grails redirect cas spring-security single-sign-on

5
推荐指数
1
解决办法
2119
查看次数

标签 统计

cas ×1

grails ×1

redirect ×1

single-sign-on ×1

spring-security ×1