java - CAS 单点注销问题

标签 java cas jasig

我有一个 Jasig CAS 3.5.2.1 版本和两个独立的应用程序(比如说 app-A 和 app-B),通过 CAS 服务器(使用 pac4j-play-cas-client)对用户进行身份验证。

假设用户使用不同的服务票证登录应用程序 A,然后登录应用程序 B。当用户从 app-A 注销时,我希望 CAS 服务器向 app-A 和 app-B 注销回调服务发送注销回调。但CAS服务器似乎只向app-A发送注销回调。

我的 CAS 服务器上的 Single Single Out 配置如下:

> <beans xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xmlns:p="http://www.springframework.org/schema/p"
>        xmlns:util="http://www.springframework.org/schema/util"
>        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
>        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
>         <description>
>                 Argument Extractors are what are used to translate HTTP requests into requests of the appropriate protocol (i.e. CAS,
> SAML, SAML2,
>                 OpenId, etc.).  By default CAS and SAML are enabled.
>         </description>
>         <bean
>                 id="casArgumentExtractor"
>                 class="org.jasig.cas.web.support.CasArgumentExtractor"
>          p:httpClient-ref="noRedirectHttpClient"
>          p:disableSingleSignOut="${slo.callbacks.disabled:false}" />
> 
>         <bean id="samlArgumentExtractor" class="org.jasig.cas.web.support.SamlArgumentExtractor"
>              p:httpClient-ref="noRedirectHttpClient"
>              p:disableSingleSignOut="${slo.callbacks.disabled:false}" />
> 
>         <util:list id="argumentExtractors">
>                 <ref bean="casArgumentExtractor" />
>                 <ref bean="samlArgumentExtractor" />
>         </util:list> </beans>

我是否遗漏了一点,为什么我无法获得应用程序 B 的注销回调?

最佳答案

免责声明:我是 CAS 主席,也是云中 CAS 的创始人 ( https://www.casinthecloud.com )。我也是 pac4j 库的创建者。

CAS 注销由该 Controller 处理:https://github.com/Jasig/cas/blob/3.5.2.1/cas-server-core/src/main/java/org/jasig/cas/web/LogoutController.java注销请求实际上是由以下代码发送的:https://github.com/Jasig/cas/blob/3.5.2.1/cas-server-core/src/main/java/org/jasig/cas/ticket/TicketGrantingTicketImpl.java#L142 。您的日志中没有相关内容吗?

关于java - CAS 单点注销问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27043760/

相关文章:

authentication - 为 OBIEE (Oracle Business Inteligence)11g 添加 jasig CAS 身份验证

ldap - 一台Jasig CAS服务器可以配置两个LDAP吗

java - OneSignal 推送通知退订用户 Android

java - 挑战 token 错误

java - 将 CAS 集成到 Java 动态 Web 项目中

ldap - CAS LDAP 搜索子树

java - 如何在 Java 中实现优雅终止?

java - 无法使用 JDBC 连接到 Syabse 数据库

java - 如何在Java中拥有 volatile boolean 值数组而不是 volatile boolean 值数组?