インターフェース StatelessTicketCache
public interface StatelessTicketCacheステートレス接続の CAS サービスチケットと CAS プロキシチケットをキャッシュします。サービスチケットまたはプロキシチケットが CAS サーバーに対して検証されると、再度使用することはできません。ほとんどの型の呼び出し元はステートフルであり、特定の
HttpSessionに関連付けられています。これにより、肯定的な CAS 検証結果をHttpSessionに保存できます。つまり、CAS サーバーからのチケットの削除は課題ではありません。リモートプロトコルなどのステートレスな呼び出し元は、
HttpSessionを利用できません。ステートレスな呼び出し元が CAS サーバーからかなりのネットワーク距離にある場合、呼び出しごとに新しいサービスチケットまたはプロキシチケットを取得するのはコストがかかります。ステートレスの呼び出し側でのこの課題を回避するには、ステートレスの呼び出し側が単一のサービスチケットまたはプロキシチケットを取得し、そのたびにこの同じチケットを Spring Security で保護されたアプリケーションに提示することが予想されます。そのような呼び出し元が使用できる
HttpSessionがないため、CAS の確認結果はこの場所に保存できません。StatelessTicketCacheを使用すると、ステートレス呼び出し元に属するサービスチケットとプロキシチケットをキャッシュに配置できます。このメモリ内キャッシュはCasAuthenticationTokenを格納し、HttpSessionと同じ機能を効果的に提供します。チケット識別子はセッション識別子ではなくキーです。ステートレスな呼び出し元が新しい CAS サービスチケットまたはプロキシチケットを不必要に取得する必要がないように、実装は格納されたエントリに適切なタイムアウトを提供する必要があります。
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 CasAuthenticationTokengetByTicketId(java.lang.String serviceTicket)指定されたチケットに関連付けられたCasAuthenticationTokenを取得します。voidputTicketInCache(CasAuthenticationToken token)指定されたCasAuthenticationTokenをキャッシュに追加します。voidremoveTicketFromCache(java.lang.String serviceTicket)指定されたチケットをキャッシュから削除します。つまり、今後の呼び出しで新しいサービスチケットが必要になります。voidremoveTicketFromCache(CasAuthenticationToken token)removeTicketFromCache(String)に従って、指定されたチケットをキャッシュから削除します。
メソッドの詳細
getByTicketId
CasAuthenticationToken getByTicketId(java.lang.String serviceTicket)
指定されたチケットに関連付けられたCasAuthenticationTokenを取得します。見つからない場合は、
nullCasAuthenticationTokenを返します。- 戻り値:
- 完全に入力された認証トークン
putTicketInCache
void putTicketInCache(CasAuthenticationToken token)
指定されたCasAuthenticationTokenをキャッシュに追加します。CasAuthenticationToken.getCredentials()メソッドは、サービスチケット番号を取得するために使用されます。- パラメーター:
token- キャッシュに追加する
removeTicketFromCache
void removeTicketFromCache(CasAuthenticationToken token)
removeTicketFromCache(String)に従って、指定されたチケットをキャッシュから削除します。実装では、
CasAuthenticationToken.getCredentials()を使用してチケットを取得し、removeTicketFromCache(String)メソッドに委譲する必要があります。- パラメーター:
token- 削除される
removeTicketFromCache
void removeTicketFromCache(java.lang.String serviceTicket)
指定されたチケットをキャッシュから削除します。つまり、今後の呼び出しで新しいサービスチケットが必要になります。これは、アプリケーションがステートレスクライアントにセッション終了機能を提供したい場合に備えています。
- パラメーター:
serviceTicket- 削除される