パスワードの有効期限が切れている場合でも、DBA の介入を必要とせずユーザが各自でパスワードを変更できます。
特に制限なし。新しいパスワードの入力を要求するクライアント・ライブラリは、Microsoft Windows でのみサポートされます。
文字列、*
パスワードは変更されず、クライアント・ライブラリは新しいパスワードを要求しません。
この接続パラメータは、password_life_time オプションや password_expiry_on_next_login オプションを使用してログイン・ポリシーを実装する場合に非常に便利です。また、login_procedure で「パスワードの有効期限が切れています。
」というエラーを伝えることで、パスワードの有効期限ポリシーを実装することもできます。
ユーザが新しいパスワードを入力すると、データベース・サーバはユーザ ID とパスワードの認証を実行し、login_procedure オプションが呼び出される前にパスワードを変更しようとします。このプロセスにより、ユーザは DBA の介入なく有効期限の切れたパスワードを変更できるようになります。verify_password_function オプションを設定した場合は、新しいパスワードの検証が行われます。統合化ログインや Kerberos ログインで認証を実行する場合、元のパスワードは検証されず、データベース・サーバは新しいパスワード値を無視し、パスワードは変更されません。
Microsoft Windows の場合、特別値 * を使用すると、既存のパスワードの有効期限が切れている場合にかぎり、クライアント・ライブラリは新しいパスワードの入力を要求します。ユーザは既存のパスワードと新しいパスワードを入力し、さらに確認のために新しいパスワードをもう一度入力する必要があります。ユーザがフィールドに値を入力して [OK] をクリックすると、古いパスワードが認証され、データベース・サーバはパスワードを変更しようとします。verify_password_function オプションを設定した場合は、新しいパスワードの検証が行われます。ユーザのパスワードの有効期限切れを確認し、新しいパスワードの入力を要求し、パスワードの認証と変更を行うプロセスは、クライアント・ライブラリに対する 1 回の接続呼び出しで実行されます。
動作環境でパスワードの入力要求がサポートされていない場合、ユーザは「パスワードの有効期限が切れています。
」というエラーを受信します。Microsoft Windows 環境の場合、呼び出し元のアプリケーションに最上位レベルのウィンドウが複数あったり、最小化されている場合、プロンプト・ウィンドウでは呼び出し元のアプリケーション・ウィンドウとの対話を正しく防げない
(モーダルでなくなったり、正しい親ウィンドウがない) ことがあります。
Windows 環境では、ODBC SQLDriverConnect 関数を使用していて DriverCompletion 引数が SQL_DRIVER_NOPROMPT 以外に設定されている場合、パスワードの有効期限が切れていると、接続時に新しいパスワードの入力を要求されます。DBPROP_INIT_PROMPT プロパティが DBPROMPT_NOPROMPT 以外に設定されている場合、OLE DB で接続時に新しいパスワードの入力を要求されることがあります。いずれの場合も、接続パラメータ NewPassword=* が指定されているように動作します。
次の接続文字列では、接続時にユーザ Test1 のパスワードを変更します。
"UID=Test1;PWD=welcome;NEWPWD=hello" |
Windows 環境の場合、次の接続文字列では、既存のパスワードの有効期限が切れている場合に、ユーザ Test1 に新しいパスワードの入力を要求します。
"UID=Test1;PWD=welcome;NEWPWD=*" |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |