2

Jasig CAS 3.5.2.1 バージョンと 2 つの個別のアプリケーション (app-A と app-B としましょう) があり、CAS サーバーを介して (pac4j-play-cas-client を使用して) ユーザーを認証しています。

ユーザーが app-A にサインインし、別のサービス チケットを使用して app-B にサインインするとします。ユーザーが app-A からサインアウトすると、CAS サーバーが app-A と app-B の両方のログアウト コールバック サービスにログアウト コールバックを送信することが期待されます。しかし、CAS サーバーはログアウト コールバックのみを app-A に送信しているようです。

CAS サーバーでのシングル Singout 構成は次のとおりです。

> <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>

app-B のログアウト コールバックを取得できなかったのはなぜですか?

4

1 に答える 1

3

免責事項: 私は CAS の会長であり、CAS in the cloud ( https://www.casinthecloud.com ) の創設者です。私は pac4j ライブラリの作成者でもあります。

CAS ログアウトは、このコントローラーによって処理されます: 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 . ログに関連するものがありませんか?

于 2014-11-21T06:13:55.460 に答える