クラス HttpMessageContextWrapper
- java.lang.ObjectSE
-
- jakarta.security.enterprise.authentication.mechanism.http.HttpMessageContextWrapper
- 実装されたすべてのインターフェース:
HttpMessageContext
public class HttpMessageContextWrapper extends ObjectSE implements HttpMessageContext
このクラスは、HttpMessageContext インターフェースの実装であり、追加または異なる機能を提供したい開発者がサブクラス化できます。すべてのメソッドは、デフォルトでラップされたオブジェクトを呼び出します。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 HttpMessageContextWrapper(HttpMessageContext httpMessageContext)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
cleanClientSubject()
このコンテキストに関連付けられているサブジェクトをクリーンアップするための便利なメソッド。AuthenticationStatus
doNothing()
コンテナーに「何もしない」ように指示します。AuthenticationStatus
forward(StringSE path)
サーバー上の別のリソース(Jakarta Servlet、Jakarta Server Pages ファイル、または HTML ファイル)に転送します。AuthenticationParameters
getAuthParameters()
SecurityContext#authenticate(AuthParameters)呼び出しで提供されたパラメーターを返します。PrincipalSE
getCallerPrincipal()
notifyContainerAboutLogin() の呼び出しによって設定されたプリンシパルを取得します。SubjectSE
getClientSubject()
認証が行われるサブジェクトを返します。SetSE<StringSE>
getGroups()
notifyContainerAboutLogin() の呼び出しによって設定されたグループを取得します。CallbackHandlerSE
getHandler()
このHttpMessageContext
の作成時にランタイムが提供し、このコンテキストが認証の詳細をランタイムに伝達するために使用する低レベルの Jakarta Authentication ハンドラーを返します。MessageInfo
getMessageInfo()
現在のリクエストの低レベルの Jakarta Authentication メッセージ情報インスタンスを返します。HttpServletRequest
getRequest()
現在のリクエストに関連付けられているリクエストオブジェクトを返します。HttpServletResponse
getResponse()
現在のリクエストに関連付けられているレスポンスオブジェクトを返します。HttpMessageContext
getWrapped()
boolean
isAuthenticationRequest()
認証メカニズムへの現在の呼び出しが、アプリケーションがSecurityContext.authenticate(HttpServletRequest, HttpServletResponse, AuthenticationParameters)
を呼び出した結果であるかどうかを確認しますboolean
isProtected()
現在リクエストされているリソースが保護されているかどうかを確認します。boolean
isRegisterSession()
現在のリクエスト中に認証セッションを登録するようにランタイムがリクエストされているかどうかを確認します。AuthenticationStatus
notifyContainerAboutLogin(CredentialValidationResult result)
ID ストアのCredentialValidationResult
結果をコンテナーに直接渡すことを目的とした便利なメソッド。AuthenticationStatus
notifyContainerAboutLogin(StringSE username, SetSE<StringSE> roles)
SecurityContext.isCallerInRole(String)
などで使用するためにアプリケーションで使用できるようにするために、指定された呼び出し元の名前とグループを登録するようにコンテナーに要求します。AuthenticationStatus
notifyContainerAboutLogin(PrincipalSE principal, SetSE<StringSE> roles)
SecurityContext.isCallerInRole(String)
などで使用するためにアプリケーションで使用できるようにするために、指定された呼び出し元のプリンシパルとグループを登録するようにコンテナーに要求します。AuthenticationStatus
redirect(StringSE location)
レスポンスステータスを SC_FOUND302 に設定します (検出)AuthenticationStatus
responseNotFound()
レスポンスステータスを 404(見つかりません)に設定します。AuthenticationStatus
responseUnauthorized()
レスポンスステータスを 401(未承認)に設定します。void
setRegisterSession(StringSE callerName, SetSE<StringSE> groups)
認証セッションを登録するようにランタイムに要求します。void
setRequest(HttpServletRequest request)
リクエストオブジェクトを設定します。void
setResponse(HttpServletResponse response)
レスポンスオブジェクトを設定します。HttpMessageContext
withRequest(HttpServletRequest request)
リクエストオブジェクトを設定します。
コンストラクターの詳細
HttpMessageContextWrapper
public HttpMessageContextWrapper(HttpMessageContext httpMessageContext)
メソッドの詳細
getWrapped
public HttpMessageContext getWrapped()
isProtected
public boolean isProtected()
インターフェースからコピーされた説明:HttpMessageContext
現在リクエストされているリソースが保護されているかどうかを確認します。保護されたリソースとは、制約が定義されているリソース(Jakarta Servlet、Jakarta Faces ページ、Jakarta Server Pages ページなど)です。web.xml
。- 次で指定:
- インターフェース
HttpMessageContext
のisProtected
- 戻り値:
- 保護されたリソースがリクエストされた場合は true、パブリックリソースがリクエストされた場合は false。
isAuthenticationRequest
public boolean isAuthenticationRequest()
インターフェースからコピーされた説明:HttpMessageContext
認証メカニズムへの現在の呼び出しが、アプリケーションがSecurityContext.authenticate(HttpServletRequest, HttpServletResponse, AuthenticationParameters)
を呼び出した結果であるかどうかを確認しますSecurityContext#authenticate が呼び出されなかった場合、認証メカニズムは、リクエストの開始時にコンテナーによって呼び出された可能性があります。
- 次で指定:
- インターフェース
HttpMessageContext
のisAuthenticationRequest
- 戻り値:
- SecurityContext#authenticate が呼び出された場合は true、呼び出されなかった場合は false。
isRegisterSession
public boolean isRegisterSession()
インターフェースからコピーされた説明:HttpMessageContext
現在のリクエスト中に認証セッションを登録するようにランタイムがリクエストされているかどうかを確認します。- 次で指定:
- インターフェース
HttpMessageContext
のisRegisterSession
- 戻り値:
- コードが認証セッションの登録を要求した場合は true、それ以外の場合は false。
setRegisterSession
public void setRegisterSession(StringSE callerName, SetSE<StringSE> groups)
インターフェースからコピーされた説明:HttpMessageContext
認証セッションを登録するようにランタイムにリクエストします。これにより、現在の HTTP セッションが有効である限り、ログインステータスが自動的に記憶されます。これがリクエストされない場合、HttpAuthenticationMechanism
は、各リクエストの開始時にランタイムで手動で再認証する必要があります。- 次で指定:
- インターフェース
HttpMessageContext
のsetRegisterSession
- パラメーター:
callerName
- 認証を記憶する必要がある発信者名groups
- 認証を記憶する必要があるグループ。
cleanClientSubject
public void cleanClientSubject()
インターフェースからコピーされた説明:HttpMessageContext
このコンテキストに関連付けられているサブジェクトをクリーンアップするための便利なメソッド。このサブジェクトのクリーニングは、ServerAuthModule#cleanSubject メソッドの Jakarta Authentication のサーブレットコンテナープロファイルと、この仕様で定義されている
HttpAuthenticationMechanism.cleanSubject(HttpServletRequest, HttpServletResponse, HttpMessageContext)
メソッドで定義されているとおりに実行されます。- 次で指定:
- インターフェース
HttpMessageContext
のcleanClientSubject
getAuthParameters
public AuthenticationParameters getAuthParameters()
インターフェースからコピーされた説明:HttpMessageContext
SecurityContext#authenticate(AuthParameters)呼び出しで提供されたパラメーターを返します。- 次で指定:
- インターフェース
HttpMessageContext
のgetAuthParameters
- 戻り値:
- SecurityContext#authenticate(AuthParameters)呼び出しで提供されたパラメーター、またはデフォルトのインスタンス。null になることはありません。
getHandler
public CallbackHandlerSE getHandler()
インターフェースからコピーされた説明:HttpMessageContext
このHttpMessageContext
の作成時にランタイムが提供し、このコンテキストが認証の詳細をランタイムに伝達するために使用する低レベルの Jakarta Authentication ハンドラーを返します。メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。
- 次で指定:
- インターフェース
HttpMessageContext
のgetHandler
- 戻り値:
- ランタイムがこのコンテキストに提供したハンドラー
getMessageInfo
public MessageInfo getMessageInfo()
インターフェースからコピーされた説明:HttpMessageContext
現在のリクエストの低レベルの Jakarta Authentication メッセージ情報インスタンスを返します。メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。
- 次で指定:
- インターフェース
HttpMessageContext
のgetMessageInfo
- 戻り値:
- 現在のリクエストのメッセージ情報インスタンス。
getClientSubject
public SubjectSE getClientSubject()
インターフェースからコピーされた説明:HttpMessageContext
認証が行われるサブジェクトを返します。メモ : これは低レベルのオブジェクトであり、ほとんどの高レベルのコードで直接使用する必要はありません。
- 次で指定:
- インターフェース
HttpMessageContext
のgetClientSubject
- 戻り値:
- 認証が行われる対象。
getRequest
public HttpServletRequest getRequest()
インターフェースからコピーされた説明:HttpMessageContext
現在のリクエストに関連付けられているリクエストオブジェクトを返します。- 次で指定:
- インターフェース
HttpMessageContext
のgetRequest
- 戻り値:
- 現在のリクエストに関連付けられているリクエストオブジェクト。
setRequest
public void setRequest(HttpServletRequest request)
インターフェースからコピーされた説明:HttpMessageContext
リクエストオブジェクトを設定します。- 次で指定:
- インターフェース
HttpMessageContext
のsetRequest
- パラメーター:
request
- 設定するリクエストオブジェクト
withRequest
public HttpMessageContext withRequest(HttpServletRequest request)
インターフェースからコピーされた説明:HttpMessageContext
リクエストオブジェクトを設定します。- 次で指定:
- インターフェース
HttpMessageContext
のwithRequest
- パラメーター:
request
- 設定されるリクエストオブジェクト。- 戻り値:
- このメソッドが呼び出された HttpMessageContext インスタンスは、流れるようなスタイルの呼び出しチェーンに役立ちます。
getResponse
public HttpServletResponse getResponse()
インターフェースからコピーされた説明:HttpMessageContext
現在のリクエストに関連付けられているレスポンスオブジェクトを返します。- 次で指定:
- インターフェース
HttpMessageContext
のgetResponse
- 戻り値:
- 現在のリクエストに関連付けられているレスポンスオブジェクト。
setResponse
public void setResponse(HttpServletResponse response)
インターフェースからコピーされた説明:HttpMessageContext
レスポンスオブジェクトを設定します。- 次で指定:
- インターフェース
HttpMessageContext
のsetResponse
- パラメーター:
response
- 設定するレスポンスオブジェクト。
redirect
public AuthenticationStatus redirect(StringSE location)
インターフェースからコピーされた説明:HttpMessageContext
レスポンスステータスを SC_FOUND302 に設定します (検出)便宜上、このメソッドは SEND_CONTINUE を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のredirect
- パラメーター:
location
- リダイレクトする場所- 戻り値:
AuthenticationStatus.SEND_CONTINUE
- 関連事項:
HttpServletResponse.sendRedirect(String)
forward
public AuthenticationStatus forward(StringSE path)
インターフェースからコピーされた説明:HttpMessageContext
サーバー上の別のリソース(Jakarta Servlet、Jakarta Server Pages ファイル、または HTML ファイル)に転送します。便宜上、このメソッドは SEND_CONTINUE を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のforward
- パラメーター:
path
- リソースへのパス名を指定する文字列。- 戻り値:
AuthenticationStatus.SEND_CONTINUE
- 関連事項:
RequestDispatcher.forward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
responseUnauthorized
public AuthenticationStatus responseUnauthorized()
インターフェースからコピーされた説明:HttpMessageContext
レスポンスステータスを 401(未承認)に設定します。便宜上、このメソッドは SEND_FAILURE を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のresponseUnauthorized
- 戻り値:
AuthenticationStatus.SEND_FAILURE
responseNotFound
public AuthenticationStatus responseNotFound()
インターフェースからコピーされた説明:HttpMessageContext
レスポンスステータスを 404(見つかりません)に設定します。便宜上、このメソッドは SEND_FAILURE を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のresponseNotFound
- 戻り値:
AuthenticationStatus.SEND_FAILURE
notifyContainerAboutLogin
public AuthenticationStatus notifyContainerAboutLogin(StringSE username, SetSE<StringSE> roles)
インターフェースからコピーされた説明:HttpMessageContext
SecurityContext.isCallerInRole(String)
などで使用するためにアプリケーションで使用できるようにするために、指定された呼び出し元の名前とグループを登録するようにコンテナーに要求します。この呼び出しが返された後、認証された ID はすぐにはアクティブにならないことに注意してください。これは、この呼び出しが行われる認証メカニズムが制御をコンテナーに戻した後(実行時)にのみ発生します(エラーが発生しない場合)。
便宜上、このメソッドは SUCCESS を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のnotifyContainerAboutLogin
- パラメーター:
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 ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のnotifyContainerAboutLogin
- パラメーター:
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
と等しくない場合、失敗の結果が返されます。- 次で指定:
- インターフェース
HttpMessageContext
のnotifyContainerAboutLogin
- パラメーター:
result
- ステータスがインスペクションされ、プリンシパルとグループが取得される CredentialValidationResult。- 戻り値:
CredentialValidationResult.getStatus()
がCredentialValidationResult.Status.VALID
と等しい場合はAuthenticationStatus.SUCCESS
、それ以外の場合はAuthenticationStatus.SEND_FAILURE
doNothing
public AuthenticationStatus doNothing()
インターフェースからコピーされた説明:HttpMessageContext
コンテナーに「何もしない」ように指示します。何もしない場合、Jakarta Security 認証メカニズムは、戻り値を介してこれを明示的に示す必要があります。
便宜上、このメソッドは NOT_DONE を返すため、このメソッドは
HttpAuthenticationMechanism
からの 1 つの流れるような return ステートメントで使用できます。- 次で指定:
- インターフェース
HttpMessageContext
のdoNothing
- 戻り値:
AuthenticationStatus.NOT_DONE
getCallerPrincipal
public PrincipalSE getCallerPrincipal()
インターフェースからコピーされた説明:HttpMessageContext
notifyContainerAboutLogin() の呼び出しによって設定されたプリンシパルを取得します。- 次で指定:
- インターフェース
HttpMessageContext
のgetCallerPrincipal
- 戻り値:
- 発信者のプリンシパル
getGroups
public SetSE<StringSE> getGroups()
インターフェースからコピーされた説明:HttpMessageContext
notifyContainerAboutLogin() の呼び出しによって設定されたグループを取得します。- 次で指定:
- インターフェース
HttpMessageContext
のgetGroups
- 戻り値:
- グループ