public enum AuthenticationStatus extends EnumSE<AuthenticationStatus>
HttpAuthenticationMechanism
によって戻り値として使用され、認証プロセスの結果(ステータス)を示します。HttpAuthenticationMechanism.validateRequest(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, jakarta.security.enterprise.authentication.mechanism.http.HttpMessageContext)
からの結果の場合、AuthenticationStatus は、次のルールに従って、Jakarta EE サーバーによって対応する Jakarta Authentication AuthStatus
に変換される必要があります。
上で概説した変換の後、変換された結果は、Jakarta Authentication 仕様のサーブレットコンテナープロファイルで指定されているように、Jakarta EE サーバーによって処理される必要があります。
実装ノート : Jakarta Authentication Servlet Container Profile は AuthStatus.SUCCESS
の結果を処理する方法に関する信頼できる情報源であり、この仕様ではいかなる種類の制約も課されていませんが、実際には Jakarta EE サーバーは主に結果が AuthStatus.SUCCESS
であるか AuthStatus.SUCCESS
ではないかを確認することが期待されます。簡単に言うと、結果が AuthStatus.SUCCESS
の場合、認証された ID(存在する場合)を現在の HTTP リクエストに設定(確立)する必要があります。そうでない場合は設定しません。
AuthenticationStatus 型でもある SecurityContext.authenticate(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, jakarta.security.enterprise.authentication.mechanism.http.AuthenticationParameters)
の戻り値は、上記の HttpAuthenticationMechanism#validateRequest
メソッドの結果に強く関連していますが、Jakarta EE サーバーは、対応する HttpServletRequest.authenticate(jakarta.servlet.http.HttpServletResponse)
呼び出しの結果から次のように変換する必要があります。
true
から AuthenticationStatus.SUCCESS
false
から [last status]
(下記を参照)ServletException
または IOException
から AuthenticationStatus.SEND_FAILURE
HttpAuthenticationMechanism
が使用された場合、[last status]
は HttpAuthenticationMechanism#validateRequest
によって返される値でなければなりません。
Jakarta Authentication ServerAuthModule(SAM)が使用され、HttpAuthenticationMechanism
が使用されなかった場合、Jakarta EE サーバーは、[last status]
を次のように変換された ServerAuthModule#validateRequest
によって返される値に設定することをお勧めします。
Jakarta EE Server 独自の ID ストアと同等のものが使用され、HttpAuthenticationMechanism
が使用されなかった場合、Jakarta EE サーバーは、[last status]
を AuthenticationStatus の各列挙定数の記述に論理的に対応する値に設定することをお勧めしますが必須ではありません。この結果は、移植可能であるとしてアプリケーションコードに依存してはなりません。
SecurityContext#authenticate
を呼び出すアプリケーションコードは、AuthenticationStatus のすべての可能な値に作用することが期待されています。
列挙型定数と説明 |
---|
NOT_DONE 認証メカニズムが呼び出されましたが、認証しないことにしました。 |
SEND_CONTINUE 認証メカニズムが呼び出され、発信者とのマルチステップ認証ダイアログが開始されました(たとえば、発信者がログインページにリダイレクトされました)。 |
SEND_FAILURE 認証メカニズムが呼び出されましたが、呼び出し元が正常に認証されなかったため、呼び出し元のプリンシパルは使用できません。 |
SUCCESS 認証メカニズムが呼び出され、呼び出し元が正常に認証されました。 |
修飾子と型 | メソッドと説明 |
---|---|
static AuthenticationStatus | valueOf(StringSE name) 指定された名前を持つこの型の列挙定数を返します。 |
static AuthenticationStatus[] | values() この列挙型の定数を含む配列を、宣言されている順序で返します。 |
cloneSE, compareToSE, equalsSE, finalizeSE, getDeclaringClassSE, hashCodeSE, nameSE, ordinalSE, toStringSE, valueOfSE
getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public static final AuthenticationStatus NOT_DONE
public static final AuthenticationStatus SEND_CONTINUE
public static final AuthenticationStatus SUCCESS
public static final AuthenticationStatus SEND_FAILURE
このステータスは、論理的な問題(資格情報が一致しない、発信者 ID が見つからないなど)を示すために使用する必要があることに注意してください。システムレベルの問題(データベース接続のタイムアウトなど)には、例外を使用する必要があります。
public static AuthenticationStatus[] values()
for (AuthenticationStatus c : AuthenticationStatus.values()) System.out.println(c);
public static AuthenticationStatus valueOf(StringSE name)
name
- 返される列挙定数の名前。IllegalArgumentExceptionSE
- この列挙型に指定された名前の定数がない場合 NullPointerExceptionSE
- 引数が null の場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.