当我构建应用程序战争SLO(单点注销)停止工作

时间:2015-04-01 10:05:09

标签: tomcat spring-security tomcat7 cas jasig

我正在尝试在基于spring的应用程序中实现CAS。我已经从应用程序配置了CAS和CAS连接,当我从jar运行应用程序时,一切正常。 但是当我尝试构建应用程序到WAR包SLO(Single Logout)停止工作时。当我点击退出时,我从应用程序和CAS退出,但我仍然登录其他应用程序。

环境:

  • WAR和CAS都部署在本地运行的tomcat 7上,但是根据文档中的建议,我将localhost更改为我的计算机名称。
  • 我使用的是cas-server-webapp-3.5.2.1和spring-boot-1.1.8.RELEASE
  • 我禁用了HTTPS,因此所有通信都在HTTP上运行

这是我第一次整合CAS的尝试,所以我有些疑惑: 这可能是个问题:

2015-04-01 11:21:37,807 WARN [org.jasig.cas.util.HttpClient] - <Error Sending me
ssage to url endpoint [http://mycomputername:8080/App1/j_spring_cas_securi
ty_check].  Error is [Server returned HTTP response code: 403 for URL: http://my
computername:8080/App1/j_spring_cas_security_check]>

此外,当我去Tomcat Web应用程序管理器(mycomputername:8080 / manager)并且第二次应用程序的会话到期时,我正好从它中退出,或者我不能再访问它了,我被重定向到登录在CAS。

@edit: 春季安全:http://pastebin.com/K0BMVrLN

战争部署App1的属性

app.service.security=http://mycomputername:8080/App1/j_spring_cas_security_check
app.service.home=http://mycomputername:8080/App1/
cas.service.login=http://mycomputername:8080/cas/login
cas.service.logout=http://mycomputername:8080/cas/logout
cas.url.prefix=http://mycomputername:8080/cas/
app.admin.userName=admin@cas.com

1 个答案:

答案 0 :(得分:1)

使用Spring SecurityCAS注销步骤:

  1. 用户请求/ j_spring_security_logout(在注销按钮的href中设置)将记录用户 退出本地应用程序并将用户发送到注销成功 URL。
  2. 您应该设置的注销成功网址 /j_spring_cas_security_logout,以退出所有 的应用程序。
  3. 然后,用户被重定向到CAS单一注销URL (https://localhost:7443/cas/logout)。
  4. 在CAS服务器端,然后提交CAS单一注销URL 对所有CAS服务的单一注销请求。关于CAS服务 方,JASIG的SingleSignOutFilter处理退出请求 使原始会话无效。
  5. 最后你的CASTGTJsession(对于春天)被摧毁了 app2请求任何页面后,您应该重定向到CAS登录页面