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 リクエストを認証します。 |
AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException
このメソッドは、リソースに対する HTTP クライアントリクエストに応じて呼び出され、常に Filter
または HttpServlet
の前に呼び出されます。さらに、このメソッドは HttpServletRequest.authenticate(HttpServletResponse)
にレスポンスして呼び出されます
デフォルトでは、このメソッドは、リクエストが保護されたリソースまたは保護されていないリソースに対するものであるかどうか、同じ HTTP セッション内で呼び出し元が正常に認証されたかどうかに関係なく、すべてのリクエストに対して常に呼び出されることに注意してください。
CDI/Interceptor 仕様インターセプターを使用して、必要に応じてこのメソッドの呼び出しを防ぐことができます。2 つの例については、AutoApplySession
および RememberMe
を参照してください。
request
- クライアントが行ったリクエストが含まれています response
- クライアントに送信されるレスポンスが含まれています httpMessageContext
- コンテナーと対話するためのコンテキスト AuthenticationException
- 処理が失敗したとき default AuthenticationStatus secureResponse(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext) throws AuthenticationException
このメソッドは、リクエストに対して後処理を行うために呼び出され、 常に Filter
または HttpServlet
の後に呼び出されます。
このメソッドは、(サーブレット)リソースが実際に呼び出されたときにのみ呼び出されることに注意してください。つまり、Filter
または HttpServlet
が SUCCESS を返す前に呼び出された validateRequest
への以前の呼び出しが呼び出された場合のみです。
request
- クライアントが行ったリクエストが含まれています response
- クライアントに送信されるレスポンスが含まれています httpMessageContext
- コンテナーと対話するためのコンテキスト AuthenticationException
- 処理が失敗したとき default void cleanSubject(HttpServletRequest request, HttpServletResponse response, HttpMessageContext httpMessageContext)
このメソッドは HttpServletRequest.logout()
にレスポンスして呼び出され、認証メカニズムに、以前に確立された認証済み ID に関連付けられた状態を削除するオプションを提供します。例: Cookie 内に状態を保存する認証メカニズムは、ここでその Cookie を削除して送信できます。
request
- クライアントが行ったリクエストが含まれています response
- クライアントに送信されるレスポンスが含まれています httpMessageContext
- コンテナーと対話するためのコンテキスト Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.