クラス HttpMessageContextWrapper

java.lang.ObjectSE
jakarta.security.enterprise.authentication.mechanism.http.HttpMessageContextWrapper
実装されているすべてのインターフェース:
HttpMessageContext

public class HttpMessageContextWrapper extends ObjectSE implements HttpMessageContext
このクラスは、HttpMessageContext インターフェースの実装であり、追加または異なる機能を提供したい開発者がサブクラス化できます。

すべてのメソッドは、デフォルトでラップされたオブジェクトを呼び出します。

  • コンストラクターの詳細

    • HttpMessageContextWrapper

      public HttpMessageContextWrapper(HttpMessageContext httpMessageContext)
  • メソッドの詳細

    • getWrapped

      public HttpMessageContext getWrapped()
    • isProtected

      public boolean isProtected()
      インターフェースからコピーされた説明: HttpMessageContext
      現在リクエストされているリソースが保護されているかどうかを確認します。保護されたリソースとは、制約が定義されているリソース(Jakarta Servlet、Jakarta Faces ページ、Jakarta Server Pages ページなど)です。web.xml
      次で指定:
      インターフェース HttpMessageContextisProtected 
      戻り値:
      保護されたリソースがリクエストされた場合は true、パブリックリソースがリクエストされた場合は false。
    • isAuthenticationRequest

      public boolean isAuthenticationRequest()
      インターフェースからコピーされた説明: HttpMessageContext
      認証メカニズムへの現在の呼び出しが、アプリケーションが SecurityContext.authenticate(HttpServletRequest, HttpServletResponse, AuthenticationParameters) を呼び出した結果であるかどうかを確認します

      SecurityContext#authenticate が呼び出されなかった場合、認証メカニズムは、リクエストの開始時にコンテナーによって呼び出された可能性があります。

      次で指定:
      インターフェース HttpMessageContextisAuthenticationRequest 
      戻り値:
      SecurityContext#authenticate が呼び出された場合は true、呼び出されなかった場合は false。
    • isRegisterSession

      public boolean isRegisterSession()
      インターフェースからコピーされた説明: HttpMessageContext
      現在のリクエスト中に認証セッションを登録するようにランタイムがリクエストされているかどうかを確認します。
      次で指定:
      インターフェース HttpMessageContextisRegisterSession 
      戻り値:
      コードが認証セッションの登録を要求した場合は true、それ以外の場合は false。
    • setRegisterSession

      public void setRegisterSession(StringSE callerName, SetSE<StringSE> groups)
      インターフェースからコピーされた説明: HttpMessageContext
      認証セッションを登録するようにランタイムにリクエストします。これにより、現在の HTTP セッションが有効である限り、ログインステータスが自動的に記憶されます。これがリクエストされない場合、HttpAuthenticationMechanism は、各リクエストの開始時にランタイムで手動で再認証する必要があります。
      次で指定:
      インターフェース HttpMessageContextsetRegisterSession 
      パラメーター:
      callerName - 認証を記憶する必要がある呼び出し元名
      groups - 認証を記憶する必要があるグループ。
    • cleanClientSubject

      public void cleanClientSubject()
      インターフェースからコピーされた説明: HttpMessageContext
      このコンテキストに関連付けられているサブジェクトをクリーンアップするための便利なメソッド。

      このサブジェクトのクリーニングは、ServerAuthModule#cleanSubject メソッドの Jakarta Authentication のサーブレットコンテナープロファイルと、この仕様で定義されている HttpAuthenticationMechanism.cleanSubject(HttpServletRequest, HttpServletResponse, HttpMessageContext) メソッドで定義されているとおりに実行されます。

      次で指定:
      インターフェース HttpMessageContextcleanClientSubject 
    • getAuthParameters

      public AuthenticationParameters getAuthParameters()
      インターフェースからコピーされた説明: HttpMessageContext
      SecurityContext#authenticate(AuthParameters)呼び出しで提供されたパラメーターを返します。
      次で指定:
      インターフェース HttpMessageContextgetAuthParameters 
      戻り値:
      SecurityContext#authenticate(AuthParameters)呼び出しで提供されたパラメーター、またはデフォルトのインスタンス。null になることはありません。
    • getHandler

      public CallbackHandlerSE getHandler()
      インターフェースからコピーされた説明: HttpMessageContext
      この HttpMessageContext の作成時にランタイムが提供し、このコンテキストが認証の詳細をランタイムに伝達するために使用する低レベルの Jakarta Authentication ハンドラーを返します。

      メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。

      次で指定:
      インターフェース HttpMessageContextgetHandler 
      戻り値:
      ランタイムがこのコンテキストに提供したハンドラー
    • getMessageInfo

      public MessageInfo getMessageInfo()
      インターフェースからコピーされた説明: HttpMessageContext
      現在のリクエストの低レベルの Jakarta Authentication メッセージ情報インスタンスを返します。

      メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。

      次で指定:
      インターフェース HttpMessageContextgetMessageInfo 
      戻り値:
      現在のリクエストのメッセージ情報インスタンス。
    • getClientSubject

      public SubjectSE getClientSubject()
      インターフェースからコピーされた説明: HttpMessageContext
      認証が行われるサブジェクトを返します。

      メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。

      次で指定:
      インターフェース HttpMessageContextgetClientSubject 
      戻り値:
      認証が行われる対象。
    • getRequest

      public HttpServletRequest getRequest()
      インターフェースからコピーされた説明: HttpMessageContext
      現在のリクエストに関連付けられているリクエストオブジェクトを返します。
      次で指定:
      インターフェース HttpMessageContextgetRequest 
      戻り値:
      現在のリクエストに関連付けられているリクエストオブジェクト。
    • setRequest

      public void setRequest(HttpServletRequest request)
      インターフェースからコピーされた説明: HttpMessageContext
      リクエストオブジェクトを設定します。
      次で指定:
      インターフェース HttpMessageContextsetRequest 
      パラメーター:
      request - 設定するリクエストオブジェクト
    • withRequest

      public HttpMessageContext withRequest(HttpServletRequest request)
      インターフェースからコピーされた説明: HttpMessageContext
      リクエストオブジェクトを設定します。
      次で指定:
      インターフェース HttpMessageContextwithRequest 
      パラメーター:
      request - 設定されるリクエストオブジェクト。
      戻り値:
      このメソッドが呼び出された HttpMessageContext インスタンスは、流れるようなスタイルの呼び出しチェーンに役立ちます。
    • getResponse

      public HttpServletResponse getResponse()
      インターフェースからコピーされた説明: HttpMessageContext
      現在のリクエストに関連付けられているレスポンスオブジェクトを返します。
      次で指定:
      インターフェース HttpMessageContextgetResponse 
      戻り値:
      現在のリクエストに関連付けられているレスポンスオブジェクト。
    • setResponse

      public void setResponse(HttpServletResponse response)
      インターフェースからコピーされた説明: HttpMessageContext
      レスポンスオブジェクトを設定します。
      次で指定:
      インターフェース HttpMessageContextsetResponse 
      パラメーター:
      response - 設定するレスポンスオブジェクト。
    • redirect

      public AuthenticationStatus redirect(StringSE location)
      インターフェースからコピーされた説明: HttpMessageContext
      レスポンスステータスを SC_FOUND302 に設定します (検出)

      便宜上、このメソッドは SEND_CONTINUE を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextredirect 
      パラメーター:
      location - リダイレクトする場所
      戻り値:
      AuthenticationStatus.SEND_CONTINUE
      関連事項:
    • forward

      public AuthenticationStatus forward(StringSE path)
      インターフェースからコピーされた説明: HttpMessageContext
      サーバー上の別のリソース(Jakarta Servlet、Jakarta Server Pages ファイル、または HTML ファイル)に転送します。

      便宜上、このメソッドは SEND_CONTINUE を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextforward 
      パラメーター:
      path - リソースへのパス名を指定する文字列。
      戻り値:
      AuthenticationStatus.SEND_CONTINUE
      関連事項:
    • responseUnauthorized

      public AuthenticationStatus responseUnauthorized()
      インターフェースからコピーされた説明: HttpMessageContext
      レスポンスステータスを 401(未承認)に設定します。

      便宜上、このメソッドは SEND_FAILURE を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextresponseUnauthorized 
      戻り値:
      AuthenticationStatus.SEND_FAILURE
    • responseNotFound

      public AuthenticationStatus responseNotFound()
      インターフェースからコピーされた説明: HttpMessageContext
      レスポンスステータスを 404(見つかりません)に設定します。

      便宜上、このメソッドは SEND_FAILURE を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextresponseNotFound 
      戻り値:
      AuthenticationStatus.SEND_FAILURE
    • notifyContainerAboutLogin

      public AuthenticationStatus notifyContainerAboutLogin(StringSE username, SetSE<StringSE> roles)
      インターフェースからコピーされた説明: HttpMessageContext
      SecurityContext.isCallerInRole(String) などで使用するためにアプリケーションで使用できるようにするために、指定された呼び出し元の名前とグループを登録するようにコンテナーに要求します。

      この呼び出しが返された後、認証された ID はすぐにはアクティブにならないことに注意してください。これは、この呼び出しが行われる認証メカニズムが制御をコンテナーに戻した後(実行時)にのみ発生します(エラーが発生しない場合)。

      便宜上、このメソッドは SUCCESS を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextnotifyContainerAboutLogin 
      パラメーター:
      username - 呼び出し元プリンシパルとなる呼び出し元名
      roles - 呼び出し元プリンシパルに関連付けられているグループ
      戻り値:
      AuthenticationStatus.SUCCESS
    • notifyContainerAboutLogin

      public AuthenticationStatus notifyContainerAboutLogin(PrincipalSE principal, SetSE<StringSE> roles)
      インターフェースからコピーされた説明: HttpMessageContext
      SecurityContext.isCallerInRole(String) などで使用するためにアプリケーションで使用できるようにするために、指定された呼び出し元のプリンシパルとグループを登録するようにコンテナーに要求します。

      この呼び出しにより、コンテナーは、呼び出し元の ID を表す 2 つの呼び出し元プリンシパルを確立する可能性があることに注意してください。ここでは、プリンシパルパラメーターとして提供されるプリンシパルと、コンテナーの呼び出し元 ID の表現として使用される 2 番目のプリンシパルです。2 番目のプリンシパルは、コンテナーが呼び出し元を表すために異なるプリンシパル型を使用する場合にのみ追加されます。型が同じである場合、1 つのプリンシパルのみが追加されます。

      2 番目のプリンシパルが追加された場合、Principal.getName() によって返される値は両方のプリンシパルで同じになります。

      2 つのプリンシパルが追加されると、コンテナーの呼び出し元プリンシパルが SecurityContext.getCallerPrincipal() から返され、ここでパラメーターとして指定されたプリンシパルは SecurityContext.getPrincipalsByType(Class) を使用して取得できます。1 つだけ追加すると、SecurityContext.getCallerPrincipal() によって返されます。

      この呼び出しが返された後、認証された ID はすぐにはアクティブにならないことに注意してください。これは、この呼び出しが行われる認証メカニズムが制御をコンテナーに戻した後(実行時)にのみ発生します(エラーが発生しない場合)。

      便宜上、このメソッドは SUCCESS を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextnotifyContainerAboutLogin 
      パラメーター:
      principal - 呼び出し元プリンシパルになるプリンシパル
      roles - 呼び出し元プリンシパルに関連付けられているグループ
      戻り値:
      AuthenticationStatus.SUCCESS
    • notifyContainerAboutLogin

      public AuthenticationStatus notifyContainerAboutLogin(CredentialValidationResult result)
      インターフェースからコピーされた説明: HttpMessageContext
      ID ストアの CredentialValidationResult 結果をコンテナーに直接渡すことを目的とした便利なメソッド。

      指定された CredentialValidationResult.getStatus() の結果が CredentialValidationResult.Status.VALID に等しい場合、CallerPrincipal とグループは CredentialValidationResult から取得され、HttpMessageContext.notifyContainerAboutLogin(Principal, Set) に渡されます。

      指定された CredentialValidationResult.getStatus() の結果が CredentialValidationResult.Status.VALID と等しくない場合、失敗の結果が返されます。

      次で指定:
      インターフェース HttpMessageContextnotifyContainerAboutLogin 
      パラメーター:
      result - ステータスがインスペクションされ、プリンシパルとグループが取得される CredentialValidationResult。
      戻り値:
      CredentialValidationResult.getStatus()CredentialValidationResult.Status.VALID と等しい場合は AuthenticationStatus.SUCCESS、それ以外の場合は AuthenticationStatus.SEND_FAILURE
    • doNothing

      public AuthenticationStatus doNothing()
      インターフェースからコピーされた説明: HttpMessageContext
      コンテナーに「何もしない」ように指示します。

      何もしない場合、Jakarta Security 認証メカニズムは、戻り値を介してこれを明示的に示す必要があります。

      便宜上、このメソッドは NOT_DONE を返すため、このメソッドは HttpAuthenticationMechanism からの 1 つの流れるような return ステートメントで使用できます。

      次で指定:
      インターフェース HttpMessageContextdoNothing 
      戻り値:
      AuthenticationStatus.NOT_DONE
    • getCallerPrincipal

      public PrincipalSE getCallerPrincipal()
      インターフェースからコピーされた説明: HttpMessageContext
      notifyContainerAboutLogin() の呼び出しによって設定されたプリンシパルを取得します。
      次で指定:
      インターフェース HttpMessageContextgetCallerPrincipal 
      戻り値:
      呼び出し元のプリンシパル
    • getGroups

      public SetSE<StringSE> getGroups()
      インターフェースからコピーされた説明: HttpMessageContext
      notifyContainerAboutLogin() の呼び出しによって設定されたグループを取得します。
      次で指定:
      インターフェース HttpMessageContextgetGroups 
      戻り値:
      グループ