インターフェース HttpAuthenticationMechanism
- すべての既知の実装クラス:
HttpAuthenticationMechanismWrapper
public interface HttpAuthenticationMechanism
HttpAuthenticationMechanism
は、必要に応じて HTTP プロトコルを使用して、何らかの方法で呼び出し元の資格情報を取得するためのメカニズムです。これは、Jakarta RESTful Web Services エンドポイントや Jakarta Faces ビューのように Jakarta Servlets 上に構築される可能性のあるエンドポイントを含む、Jakarta Servlet エンドポイントを保護するために使用されます。特に、リモート Jakarta Enterprise Beans または(Jakarta Messaging)メッセージ駆動型 Bean などのエンドポイントに は使用されません。
HttpAuthenticationMechanism
は本質的に Jakarta Servlet 固有であり、サーブレットコンテナープロファイルに準拠するServerAuthModule
の CDI 対応バージョンです。詳細については、Jakarta Authentication 仕様を参照してください。このクラスの実装は、
HttpMessageContext.notifyContainerAboutLogin(java.security.Principal, java.util.Set)
メソッドを使用して、認証が成功したことを Jakarta Servlet コンテナーに通知できます。実装は、
IdentityStore
にオプションのグループを持つ呼び出し側の名前の実際の資格情報の検証および / または検索を委譲することが期待され、奨励されています。ただし、これは必須ではなく、実装は認証の検証チェックを完全に自律的に行うか、プロセスの特定の側面のみをストアに委譲することができます(たとえば、認証されたユーザーが属するグループの取得にのみストアを使用します)。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド 修飾子と型 メソッド 説明 default void
cleanSubject(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext)
サブジェクトからメカニズム固有のプリンシパルとクレデンシャルを削除し、メカニズムが使用した可能性のあるその他の状態を削除します。default AuthenticationStatus
secureResponse(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext)
オプションで、レスポンスを保護します。AuthenticationStatus
validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext)
HTTP リクエストを認証します。
メソッドの詳細
validateRequest
AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException
HTTP リクエストを認証します。このメソッドは、リソースに対する HTTP クライアントリクエストに応じて呼び出され、常に
Filter
またはHttpServlet
の前に呼び出されます。さらに、このメソッドはHttpServletRequest.authenticate(HttpServletResponse)
にレスポンスして呼び出されますデフォルトでは、このメソッドは、リクエストが保護されたリソースまたは保護されていないリソースに対するものであるかどうか、同じ HTTP セッション内で呼び出し元が正常に認証されたかどうかに関係なく、すべてのリクエストに対して常に呼び出されることに注意してください。
CDI/Interceptor 仕様インターセプターを使用して、必要に応じてこのメソッドの呼び出しを防ぐことができます。2 つの例については、
AutoApplySession
およびRememberMe
を参照してください。- パラメーター:
request
- クライアントが行ったリクエストが含まれていますresponse
- クライアントに送信されるレスポンスが含まれていますhttpMessageContext
- コンテナーと対話するためのコンテキスト- 戻り値:
- このメソッドによって実行された処理の完了ステータス
- 例外:
AuthenticationException
- 処理が失敗したとき
secureResponse
default AuthenticationStatus secureResponse(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException
オプションで、レスポンスを保護します。このメソッドは、リクエストに対して後処理を行うために呼び出され、 常に
Filter
またはHttpServlet
の後に呼び出されます。このメソッドは、(サーブレット)リソースが実際に呼び出されたときにのみ呼び出されることに注意してください。つまり、
Filter
またはHttpServlet
が SUCCESS を返す前に呼び出されたvalidateRequest
への以前の呼び出しが呼び出された場合のみです。- パラメーター:
request
- クライアントが行ったリクエストが含まれていますresponse
- クライアントに送信されるレスポンスが含まれていますhttpMessageContext
- コンテナーと対話するためのコンテキスト- 戻り値:
- このメソッドによって実行された処理の完了ステータス
- 例外:
AuthenticationException
- 処理が失敗したとき
cleanSubject
default void cleanSubject(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext)
サブジェクトからメカニズム固有のプリンシパルとクレデンシャルを削除し、メカニズムが使用した可能性のあるその他の状態を削除します。このメソッドは
HttpServletRequest.logout()
にレスポンスして呼び出され、認証メカニズムに、以前に確立された認証済み ID に関連付けられた状態を削除するオプションを提供します。例: Cookie 内に状態を保存する認証メカニズムは、ここでその Cookie を削除して送信できます。- パラメーター:
request
- クライアントが行ったリクエストが含まれていますresponse
- クライアントに送信されるレスポンスが含まれていますhttpMessageContext
- コンテナーと対話するためのコンテキスト