0

CAS のインストールに奇妙な問題があります。最近、RememberMe のチケットの有効期間が 3 か月で、RememberMe 機能を有効にしました。

クライアント アプリケーションのセッションが期限切れになると、CAS に送り返されました。

https://urlOfmyCas/login?service=urlOfClient

CASTGC Cookie が存在し、有効な CAS が再度ログイン ページを表示しているにもかかわらず。サービス パラメータを指定せずに上記の URL を呼び出すと、「Login-Success」ページにリダイレクトされるため、CAS はログインしていることを認識します。

renew パラメータを送信しない限り、CAS が Cookie のログインを確認し、クライアント アプリケーションに送り返すことを期待します。

CAS のインストールで何かを台無しにしたのでしょうか、それともこれは予期された動作ですか?

4

1 に答える 1

0

今日やっと答えが見つかったようです。

CAS は、有効期限が 3 か月の長期チケットを作成しています ( で有効期限タイムアウトとして何を指定してもticketExpirationPolicies.xml)。のドキュメントで指定されている値rememberMeExpirationPolicyは、ticketCleanerのみです。そのため、Cookie がまだそこにある場合でも、クリーナーがチケット レジストリの TGT を既に破棄している可能性があります。

サービス パラメータなしで /login を呼び出すと、システムはチケット レジストリをチェックせずに Cookie に TGTid があるかどうかのみをチェックするため、成功したログイン ページが表示され、少し混乱しました。

私を悩ませたのは、使用される有効期限の値org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicyも SECONDS であると仮定したことです (デフォルト構成のように) が、このクラスには MILLISECONDS としての値が必要です。確認すればよかったのですが、3ヶ月に設定しようとしたところチケットの有効期限が3ヶ月だったので(欲しいものを手に入れようと思いました)、上記の段落で述べた奇妙な動作と一緒に...私の間違い最終的には。

于 2014-03-06T11:24:51.950 に答える