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