クラス PasswordValidationCallback
- java.lang.ObjectSE
-
- jakarta.security.auth.message.callback.PasswordValidationCallback
- 実装されたすべてのインターフェース:
CallbackSE
public class PasswordValidationCallback extends ObjectSE implements CallbackSE
PasswordValidation のコールバック。このコールバックは、それを含むランタイムのパスワード検証機能を使用するために認証モジュールで使用できます。このコールバックは通常、
validateRequest
処理中にServerAuthModule
によって呼び出されます。このコールバックにより、次のアクションが実行されます。
- 資格情報を検証する
- 検証された場合は呼び出し元プリンシパルを設定します (概念的には
CallerPrincipalCallback
と同じです) - 検証され、グループが利用可能な場合は、グループを設定します (概念的には
GroupPrincipalCallback
と同じです)
CallbackHandler
が提供された Jakarta Authentication 実装によってPasswordValidationCallback
がどのように実装されるかを示す仮説的な例を示しています。protected void processPasswordValidation(PasswordValidationCallback pwdCallback) { // 1. Validate the credentials Caller caller = ContainerSpecificStore.validate(pwdCallback.getUsername(), getPassword(pwdCallback)); if (caller != null) { // 2. If validated set caller principal, just like CallerPrincipalCallback does processCallerPrincipal(new CallerPrincipalCallback(pwdCallback.getSubject(), caller.getCallerPrincipal())); if (!caller.getGroups().isEmpty()) { // 3. If validated and groups available set groups, just like GroupPrincipalCallback does processGroupPrincipal(new GroupPrincipalCallback(pwdCallback.getSubject(), caller.getGroupsAsArray())); } pwdCallback.setResult(true); } }
processCallerPrincipal
は、CallbackHandler
がCallerPrincipalCallback
を処理する方法を表します。processGroupPrincipal
は、CallbackHandler
がGroupPrincipalCallback
を処理する方法を表します。Caller
およびContainerSpecificStore
は、仮想的な実装固有の型です。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 PasswordValidationCallback(SubjectSE subject, StringSE username, char[] password)
PasswordValidationCallback を作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
clearPassword()
パスワードをクリアします。char[]
getPassword()
パスワードを取得します。boolean
getResult()
認証結果を取得します。SubjectSE
getSubject()
件名を取得します。StringSE
getUsername()
ユーザー名を取得します。void
setResult(boolean result)
認証結果を設定します。
メソッドの詳細
getSubject
public SubjectSE getSubject()
件名を取得します。- 戻り値:
- 件名。
getUsername
public StringSE getUsername()
ユーザー名を取得します。- 戻り値:
- ユーザー名。
getPassword
public char[] getPassword()
パスワードを取得します。このメソッドはパスワードへの参照を返すことに注意してください。配列のクローンが作成された場合、不要になったパスワード情報をゼロにするのは呼び出し側の責任です。
- 戻り値:
- パスワード。null でもかまいません。
clearPassword
public void clearPassword()
パスワードをクリアします。
setResult
public void setResult(boolean result)
認証結果を設定します。- パラメーター:
result
- 認証が成功した場合は true、それ以外の場合は false
getResult
public boolean getResult()
認証結果を取得します。- 戻り値:
- 認証が成功した場合は true、それ以外の場合は false