式言語


例:@PasswordQuality
最初の 2 つの例で、@PasswordQuality が暗号化されているフィールドに適用されると、予期せぬ結果が返されることを説明します。2 番目の 2 つの例では、パスワードを暗号化した場合の @PasswordQuality の正しい使用法を説明します。パスワードの暗号化は文書の QuerySave イベントで扱います。

1. この例では、プログラマーが、入力確認式でパスワードクオリティをテストされた既存のフォームを修正し、パスワードが暗号化されるようにしました。このプログラマーにより、@Password を使用した入力変換式が追加されました。現状では、空白のパスワードや「password」のようなパスワードクオリティ「3」に相当する単純なパスワードの場合は、@Success が返されます。これはプログラマーの意図するものではありませんでした。


2. エージェントはすべてのユーザー文書 (@PasswordQuality(HttpPassword)<8) を選択します。ユーザー文書の HttpPassword ファイルが暗号化されているため、どの文書も選択されません。

3. この例では、パスワードフィールドを持つフォームが繰り返し保存されます。QuerySave イベントで、十分な複雑さを持つ、暗号化されていないパスワードを暗号化します。ただし、失敗したパスワードや既に暗号化されているパスワードはそのままにします。


4. パスワードの入力フィールド、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] フィールドのパスワードを暗号化した値とともに保存されます。

関連項目