CHECK_PASSWORD 表関数
CHECK_PASSWORD 表関数は、入力値がシステムのパスワード規則を満たしているかどうかを検査します。 この機能は、どのユーザーのパスワードも変更しません。
パスワード規則は、システム値 QPWDRQDDIF と、QPWDRQDDIF または QPWDMINLEN、QPWDMAXLEN、QPWDLMTAJC、QPWDLMTCHR、QPWDLMTREP、および QPWDRQDDGT のいずれかで構成されます。 現行パスワードは比較に使用されないため、システム値 QPWDPOSDIF および QPWDRU *LMTSAMPOS は適用されません。
ステートメント・テキストの一部として表示されないようにするために、変数を使用してパスワードとオプションの許可名を指定することをお勧めします。
この機能は、Check Password Meets Password Rules (QSYCHKPR) API に似ています。 パスワードがパスワード規則に従っている場合には、追加の検査を可能にするために、出口点 QIBM_QSY_CHK_PASSWRD、形式 CHKP0200 で登録された出口プログラムが呼び出されます。
許可:
- 許可名 が *NONE または *CURRENT であるか、あるいはスレッドの有効ユーザーと一致する場合には、必要ありません。
- そうでない場合には, 呼び出し元はユーザー・プロファイルに対して *SECADM 特殊権限と *OBJMGT および *USE 権限を持っていなければなりません。
スキーマは QSYS2 です。
- パスワード
- 検査されるパスワード値を含む文字ストリング。
- 権限名
- パスワードが検査されるユーザーの名前を識別する文字ストリングまたはグラフィック・ストリング。 ユーザー・プロファイル名は、パスワードに要求される相違 (QPWDRQDDIF) システム値のパスワード規則、およびパスワードにユーザー名 (QPWDRULES *LMTPRFNAME) を含めることができないというパスワード規則を検査する時に使用されます。
この関数の結果は、以下の表に示された形式の単一の行を含むテーブルです。 列はすべて NULL 可能です。
列名 | データ・タイプ | 説明 |
---|---|---|
PASSWORD_VALID | VARCHAR(3) | パスワードの検証が成功したかどうかを示します。
|
MESSAGE_ID | CHAR(7) | 失敗の理由を示すメッセージ ID。 PASSWORD_VALID が YES の場合は、NULL 値が入ります。 |
MESSAGE_TEXT | VARGRAPHIC(1024) CCSID 1200
|
MESSAGE_ID に対応する第 1 レベル・メッセージ・テキスト。 MESSAGE_ID が NULL の場合は、NULL 値が入ります。 |
MESSAGE_SECOND_LEVEL_TEXT | VARGRAPHIC(4096) CCSID 1200
|
MESSAGE_ID に対応する第 2 レベル・メッセージ・テキスト。 MESSAGE_ID が NULL の場合は、NULL 値が入ります。 |
例
- 潜在的な新規パスワードを調べて、それがシステム・パスワード・ルールを満たしているかどうかを確認します。
SELECT * FROM TABLE(QSYS2.CHECK_PASSWORD('amIvalid?'));