クラス RequestAttributeSecurityContextRepository
- java.lang.Object
-
- org.springframework.security.web.context.RequestAttributeSecurityContextRepository
- 実装済みのインターフェース一覧:
SecurityContextRepository
public final class RequestAttributeSecurityContextRepository extends java.lang.Object implements SecurityContextRepository
SecurityContextをServletRequest.setAttribute(String, Object)に格納して、さまざまなディスパッチ型が発生したときに復元できるようにします。以降のリクエストではご利用いただけません。HttpSessionSecurityContextRepositoryとは異なり、SecurityContextはRequestAttributeSecurityContextRepositoryの後続のリクエストに使用できないため、このフィルターはコミットされているレスポンスでSecurityContextを永続化する必要はありません。- 導入:
- 5.7
フィールド概要
フィールド 修飾子と型 フィールド 説明 static java.lang.StringDEFAULT_REQUEST_ATTR_NAME使用するデフォルトのリクエスト属性名。
コンストラクター概要
コンストラクター コンストラクター 説明 RequestAttributeSecurityContextRepository()DEFAULT_REQUEST_ATTR_NAMEを使用して新しいインスタンスを作成します。RequestAttributeSecurityContextRepository(java.lang.String requestAttributeName)指定されたリクエスト属性名で新しいインスタンスを作成します。
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 booleancontainsContext(javax.servlet.http.HttpServletRequest request)リポジトリに現在のリクエストのセキュリティコンテキストが含まれているかどうかを問い合わせることができます。java.util.function.Supplier<SecurityContext>loadContext(javax.servlet.http.HttpServletRequest request)指定されたリクエストのセキュリティコンテキストを取得します。SecurityContextloadContext(HttpRequestResponseHolder requestResponseHolder)指定されたリクエストのセキュリティコンテキストを取得します。voidsaveContext(SecurityContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)リクエストの完了時にセキュリティコンテキストを格納します。
コンストラクターの詳細
RequestAttributeSecurityContextRepository
public RequestAttributeSecurityContextRepository()
DEFAULT_REQUEST_ATTR_NAMEを使用して新しいインスタンスを作成します。
RequestAttributeSecurityContextRepository
public RequestAttributeSecurityContextRepository(java.lang.String requestAttributeName)
指定されたリクエスト属性名で新しいインスタンスを作成します。- パラメーター:
requestAttributeName-SecurityContextに設定するリクエスト属性名。
メソッドの詳細
containsContext
public boolean containsContext(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:SecurityContextRepositoryリポジトリに現在のリクエストのセキュリティコンテキストが含まれているかどうかを問い合わせることができます。- 次で指定:
- インターフェース
SecurityContextRepositoryのcontainsContext - パラメーター:
request- 現在のリクエスト- 戻り値:
- リクエストのコンテキストが見つかった場合は true、そうでない場合は false
loadContext
public SecurityContext loadContext(HttpRequestResponseHolder requestResponseHolder)
インターフェースからコピーされた説明:SecurityContextRepository指定されたリクエストのセキュリティコンテキストを取得します。認証されていないユーザーの場合、空のコンテキスト実装を返す必要があります。このメソッドは null を返しません。HttpRequestResponseHolder パラメーターを使用すると、実装はリクエストまたはレスポンス (あるいはその両方) のラップされたバージョンを返すことができ、リクエストの実装固有の状態にアクセスできるようになります。ホルダーから取得された値は、フィルターチェーンに渡され、最後に呼び出されたときに saveContext メソッドにも渡され、SecurityContext の暗黙的な保存が可能になります。実装では、レスポンスオブジェクトとして
SaveContextOnUpdateOrErrorResponseWrapperのサブクラスを返すことを希望する場合があります。これにより、エラーまたはリダイレクトが発生したときにコンテキストが保持されることが保証されます。実装では、明示的な保存を可能にするために、元のリクエストレスポンスを渡すことができます。- 次で指定:
- インターフェース
SecurityContextRepositoryのloadContext - パラメーター:
requestResponseHolder- コンテキストをロードする必要がある現在のリクエストとレスポンスのホルダー。- 戻り値:
- 現在のリクエストに使用されるセキュリティコンテキスト。null になることはありません。
loadContext
public java.util.function.Supplier<SecurityContext> loadContext(javax.servlet.http.HttpServletRequest request)
インターフェースからコピーされた説明:SecurityContextRepository指定されたリクエストのセキュリティコンテキストを取得します。認証されていないユーザーの場合、空のコンテキスト実装を返す必要があります。このメソッドは null を返しません。- 次で指定:
- インターフェース
SecurityContextRepositoryのloadContext - パラメーター:
request-SecurityContextをロードするHttpServletRequest- 戻り値:
- null にはできない
SecurityContextを返すSupplier。
saveContext
public void saveContext(SecurityContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
インターフェースからコピーされた説明:SecurityContextRepositoryリクエストの完了時にセキュリティコンテキストを格納します。- 次で指定:
- インターフェース
SecurityContextRepositoryのsaveContext - パラメーター:
context- ホルダーから取得された null 以外のコンテキスト。