changePasswordメソッド
説明
パラメタで指定されたname,uidおよびoldPasswordで本人の確認をして,その結果に問題がなければ新しいパスワードに変更します。シングルサインオン用認証情報が登録されている場合は,シングルサインオン情報リポジトリの内容も変更されます。
このメソッドはstaticメソッドです。
形式
public static void changePassword(String name, String uid, String oldPassword, String newPassword) throws LoginException, SecurityException;
パラメタ:
- name:
-
認証に使用するログインモジュール(LoginContext)のアプリケーション名(name)を指定します。
- uid:
-
変更するユーザのユーザIDを指定します。
- oldPassword:
-
変更前のパスワードを指定します。
- newPassword:
-
変更後のパスワードを指定します。
例外
- javax.security.auth.login.LoginException:
-
認証に必要な情報がありません。または,ユーザID/パスワードが誤っています。
- java.lang.SecurityException:
-
アクセス権がありません。
戻り値
なし
注意事項
-
シングルサインオン用認証情報は,レルム名,暗号鍵ファイル,およびシングルサインオン情報リポジトリにアクセスする情報が定義されている場合だけ変更します。それ以外の状態(シングルサインオン用の定義がない)の場合は変更しません。
-
シングルサインオン用認証情報が登録されている場合に,リポジトリで例外が発生したり(NamingException例外が発生),暗号化に失敗したりしたとき,このメソッドはLoginException例外で失敗します。このとき,パスワードは元の状態に戻します(ロールバックします)。また,パスワードを元に戻すのに失敗した場合もLoginException例外が発生します。例外クラスの詳細については,「15.32 例外クラス」を参照してください。
-
nameで指定したアプリケーションでWebPasswordLoginModuleまたはWebPasswordLDAPLoginModuleを使用していない場合,LoginException例外が発生します。
-
LDAPディレクトリサーバがActive Directoryの場合は,WebPasswordLDAPLoginModuleを使用しているアプリケーションをnameに指定してください。