Java 登录后更改/检索CAS服务器TGT cookie值

Java 登录后更改/检索CAS服务器TGT cookie值,java,ruby-on-rails,server,cas,Java,Ruby On Rails,Server,Cas,我不太清楚单次注销如何与CAS server 4.1配合使用,希望有一个清晰简单的解释来帮助解决我在客户端应用程序中遇到的问题 目前,SSO在我的两个应用程序中运行良好 用户可以登录到应用程序A、B和C,A和B是使用Ruby cas客户端的Ruby on Rails应用程序。C是一个使用acegi安全性(现在是Spring安全性)的Java应用程序 当用户注销应用程序A时,他们被重定向到CAS服务器注销视图,但仍然登录到应用程序B,C。注销B,C也是如此 默认情况下是否启用Cas服务器4.1的S

我不太清楚单次注销如何与CAS server 4.1配合使用,希望有一个清晰简单的解释来帮助解决我在客户端应用程序中遇到的问题

目前,SSO在我的两个应用程序中运行良好

用户可以登录到应用程序A、B和C,A和B是使用Ruby cas客户端的Ruby on Rails应用程序。C是一个使用acegi安全性(现在是Spring安全性)的Java应用程序

当用户注销应用程序A时,他们被重定向到CAS服务器注销视图,但仍然登录到应用程序B,C。注销B,C也是如此

默认情况下是否启用Cas服务器4.1的SLO

SLO是否需要任何特殊配置才能在CAS服务器上工作


是否有方法获取和存储cas TGT cookie(cas cookie的值)

可能不是理想的解决方案,但它似乎起到了作用。使用CAS服务器4.1 在spring配置中编辑ticketCookieGenerator.xml文件。 将CAS服务器部署为根应用程序,以避免编辑InitialFlowSetupAction.java类。 出于安全原因,不建议更改具有通配符域的cas票证授予票证的路径。在这个特定的cas中,实现单次注销需要它。 首先在应用程序中创建一个过滤器,将cas票证授予cookie值保存到会话中,并在每次请求时检查会话中保存的cookie值是否与请求中的cookie值匹配,如果不匹配,则使会话无效,用户将重定向到cas登录,否则一切照常

  <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
                  c:casCookieValueManager-ref="cookieValueManager"
                  p:cookieSecure="true"
                  p:cookieMaxAge="-1"
                  p:cookieName="TGC"
                  p:cookieDomain=".example.org"
                  p:cookiePath="/"/>