パスワードデータ型フィールドの戻り値の数値を評価します。
注: この関数は R5.0.1 で新しく追加されました。
構文
@PasswordQuality( field_name )
パラメータ
field_name
パスワードデータ型のフィールド名です。暗号化されていないパスワードである必要があります。
戻り値
passwordQuality
数値。パスワードの複雑さのレベルです。数値が大きければ、解読が困難で複雑なパスワードであることを示します。
使用法
この関数は、Web 上で使用できます。
注: @Password 関数または @Hashpassword 関数を使用して暗号化されているフィールドに対し @PasswordQuality 関数を使用すると、暗号化された入力にこの関数を適用することになるため、誤った結果が生成されます。
例
最初の 2 つの例で、@PasswordQuality が暗号化されているフィールドに適用されると、予期せぬ結果が返されることを説明します。2 番目の 2 つの例では、パスワードを暗号化した場合の @PasswordQuality の正しい使用法を説明します。パスワードの暗号化は文書の QuerySave イベントで扱います。
- この例では、プログラマーが、入力確認式でパスワードクオリティをテストされた既存のフォームを修正し、パスワードが暗号化されるようにしました。このプログラマーにより、@Password を使用した入力変換式が追加されました。現状では、空白のパスワードや「password」のようなパスワードクオリティ「3」に相当する単純なパスワードの場合は、@Success が返されます。これはプログラマーの意図するものではありませんでした。
パスワードの入力フィールド、PW は次のように定義されています。入力変換式: @Password(PW)
入力確認式: @If(@PasswordQuality(PW)<6;@Failure("Password
not complex enough"); @Success)
- エージェントはすべてのユーザー文書 (@PasswordQuality(HttpPassword)<8) を選択します。ユーザー文書の HttpPassword フィールドが暗号化されているため、どの文書も選択されません。
- この例では、パスワードフィールドを持つフォームが繰り返し保存されます。QuerySave イベントで、十分な複雑さを持つ、暗号化されていないパスワードを暗号化します。ただし、失敗したパスワードや既に暗号化されているパスワードはそのままにします。
パスワードの入力フィールド、PW は次のように定義されています。入力変換式: なし 入力確認式: @If(@PasswordQuality(PW)>7;@Success;@Failure("Password
not complex enough")) QuerySave イベント: FIELD PW:=@If((@PasswordQuality(PW)>7 &
@PasswordQuality(PW)<30);@Password(PW);PW) パスワード「password」を [PW] フィールドに入力すると、入力確認が失敗し、「Password not complex enough」が返されます。パスワード「a2R5j4K9」が入力された場合は、文書は、[PW] フィールドのパスワードを暗号化した値とともに保存されます。
- パスワードの入力フィールド、PW は次のように定義されています。入力変換式: なし 入力確認式: @If(@PasswordQuality(PW)<12;@Failure("Password
not complex enough"); @Success) QuerySave イベント: Dim doc As NotesDocument
Set doc=Source.Document res=Evaluate(|@setfield("PW";@Password("PW"))|,doc)
Call doc.save(True,True) パスワード「password」を [PW] フィールドに入力すると、入力確認が失敗し、「Password not complex enough」が返されます。パスワード「a2R5j4K9」が入力された場合は、文書は、[PW] フィールドのパスワードを暗号化した値とともに保存されます。