クラス RequestAttributeSecurityContextRepository

java.lang.ObjectSE
org.springframework.security.web.context.RequestAttributeSecurityContextRepository
実装されたすべてのインターフェース:
SecurityContextRepository

public final class RequestAttributeSecurityContextRepository extends ObjectSE implements SecurityContextRepository
SecurityContext を ServletRequest.setAttribute(String, Object) に格納して、さまざまなディスパッチ型が発生したときに復元できるようにします。以降のリクエストではご利用いただけません。HttpSessionSecurityContextRepository とは異なり、SecurityContextRequestAttributeSecurityContextRepository の後続のリクエストに使用できないため、このフィルターはコミットされているレスポンスで SecurityContext を永続化する必要はありません。
導入:
5.7
  • フィールドの詳細

    • DEFAULT_REQUEST_ATTR_NAME

      public static final StringSE DEFAULT_REQUEST_ATTR_NAME
      使用するデフォルトのリクエスト属性名。
  • コンストラクターの詳細

    • RequestAttributeSecurityContextRepository

      public RequestAttributeSecurityContextRepository()
      DEFAULT_REQUEST_ATTR_NAME を使用して新しいインスタンスを作成します。
    • RequestAttributeSecurityContextRepository

      public RequestAttributeSecurityContextRepository(StringSE requestAttributeName)
      指定されたリクエスト属性名で新しいインスタンスを作成します。
      パラメーター:
      requestAttributeName - SecurityContext に設定するリクエスト属性名。
  • メソッドの詳細

    • containsContext

      public boolean containsContext(jakarta.servlet.http.HttpServletRequest request)
      インターフェースからコピーされた説明: SecurityContextRepository
      リポジトリに現在のリクエストのセキュリティコンテキストが含まれているかどうかを問い合わせることができます。
      次で指定:
      インターフェース SecurityContextRepositorycontainsContext 
      パラメーター:
      request - 現在のリクエスト
      戻り値:
      リクエストのコンテキストが見つかった場合は true、そうでない場合は false
    • loadContext

      public SecurityContext loadContext(HttpRequestResponseHolder requestResponseHolder)
      インターフェースからコピーされた説明: SecurityContextRepository
      指定されたリクエストのセキュリティコンテキストを取得します。認証されていないユーザーの場合、空のコンテキスト実装を返す必要があります。このメソッドは null を返しません。

      HttpRequestResponseHolder パラメーターを使用すると、実装はラップされたバージョンのリクエストまたはレスポンス(あるいはその両方)を返すことができ、リクエストの実装固有の状態にアクセスできます。ホルダーから取得した値は、フィルターチェーンに渡されます。また、 SecurityContext の暗黙的な保存を許可するために最終的に呼び出されると、 saveContext メソッドにも渡されます。実装では、レスポンスオブジェクトとして SaveContextOnUpdateOrErrorResponseWrapper のサブクラスを返したい場合があります。これにより、エラーまたはリダイレクトが発生したときにコンテキストが保持されることが保証されます。実装では、元のリクエストレスポンスを渡して明示的な保存を許可する場合があります。

      次で指定:
      インターフェース SecurityContextRepositoryloadContext 
      パラメーター:
      requestResponseHolder - コンテキストをロードする必要がある現在のリクエストとレスポンスのホルダー。
      戻り値:
      現在のリクエストに使用されるセキュリティコンテキスト。null になることはありません。
    • loadDeferredContext

      public DeferredSecurityContext loadDeferredContext(jakarta.servlet.http.HttpServletRequest request)
      インターフェースからコピーされた説明: SecurityContextRepository
      アプリケーションで必要になるまで、HttpServletRequest を使用した SecurityContext のロードを延期します。
      次で指定:
      インターフェース SecurityContextRepositoryloadDeferredContext 
      パラメーター:
      request - SecurityContext をロードする HttpServletRequest 
      戻り値:
      null にできない SecurityContext を返す DeferredSecurityContext
    • saveContext

      public void saveContext(SecurityContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      インターフェースからコピーされた説明: SecurityContextRepository
      リクエストの補完時にセキュリティコンテキストを格納します。
      次で指定:
      インターフェース SecurityContextRepositorysaveContext 
      パラメーター:
      context - ホルダーから取得された null 以外のコンテキスト。
    • setSecurityContextHolderStrategy

      public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
      使用する SecurityContextHolderStrategy を設定します。デフォルトのアクションは、SecurityContextHolder に格納されている SecurityContextHolderStrategy を使用することです。
      導入:
      5.8