クラス PasswordValidationCallback
java.lang.ObjectSE
jakarta.security.auth.message.callback.PasswordValidationCallback
- 実装されているすべてのインターフェース:
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パスワードをクリアします。char[]パスワードを取得します。boolean認証結果を取得します。件名を取得します。ユーザー名を取得します。voidsetResult(boolean result) 認証結果を設定します。
コンストラクターの詳細
PasswordValidationCallback
PasswordValidationCallback を作成します。- パラメーター:
subject- 認証対象username- 認証するユーザー名password- ユーザーのパスワード。null の可能性があります。
メソッドの詳細
getSubject
件名を取得します。- 戻り値:
- 件名。
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