変更の始まり

CHECK_PASSWORD 表関数

CHECK_PASSWORD 表関数は、入力値がシステムのパスワード規則を満たしているかどうかを検査します。 この機能は、どのユーザーのパスワードも変更しません。

パスワード規則は、システム値 QPWDRQDDIF と、QPWDRQDDIF または QPWDMINLENQPWDMAXLENQPWDLMTAJCQPWDLMTCHRQPWDLMTREP、および QPWDRQDDGT のいずれかで構成されます。 現行パスワードは比較に使用されないため、システム値 QPWDPOSDIF および QPWDRU *LMTSAMPOS は適用されません。

ステートメント・テキストの一部として表示されないようにするために、変数を使用してパスワードとオプションの許可名を指定することをお勧めします。

この機能は、Check Password Meets Password Rules (QSYCHKPR) API に似ています。 パスワードがパスワード規則に従っている場合には、追加の検査を可能にするために、出口点 QIBM_QSY_CHK_PASSWRD、形式 CHKP0200 で登録された出口プログラムが呼び出されます。

許可:
  • 許可名 が *NONE または *CURRENT であるか、あるいはスレッドの有効ユーザーと一致する場合には、必要ありません。
  • そうでない場合には、ユーザー・プロファイルに対する *SECADM 特殊権限と *OBJMGT および *USE 権限が必要です。
構文図を読む構文図をスキップするCHECK_PASSWORD(PASSWORD => パスワード,AUTHORIZATION_NAME => authorization-name)

スキーマは QSYS2 です。

password
検査されるパスワード値を含む文字ストリング。
authorization-name
パスワードが検査されるユーザーの名前を識別する文字ストリングまたはグラフィック・ストリング。 ユーザー・プロファイル名は、パスワードに要求される相違 (QPWDRQDDIF) システム値のパスワード規則、およびパスワードにユーザー名 (QPWDRULES *LMTPRFNAME) を含めることができないというパスワード規則を検査する時に使用されます。
次の特殊値を含めることができます。
*CURRENT
現在実行中のユーザーの名前は、パスワードが検査されるユーザーとして使用されます。
*NONE
検査対象のパスワードはユーザーに関連付けられていません。 パスワードに要求される相違 (QPWDRQDDIF) システム値によって指定されたパスワード規則およびパスワード規則 - パスワードにはユーザー名 (QPWDRULES *LMTPRFNAME) が含まれていない可能性があります。これらは特定のユーザー・プロファイルに適用されるため、パスワード検査には影響しません。 これはデフォルト値。

この関数の結果は、以下の表に示された形式の単一の行を含むテーブルです。 列はすべて NULL 可能です。

表 1. CHECK_PASSWORD 表関数
列名 データ・タイプ 記述
PASSWORD_VALID VARCHAR(3) パスワードの検証が成功したかどうかを示します。
NO
パスワードがシステム・ルールを満たしていません。
YES
パスワードがシステム・ルールを満たしています。
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?'));
    
変更の終わり