3

私は現在、ユーザーがすべてのエンドポイントアカウントを管理できるようにするID管理ソリューションを実装しています。

現在、当社のパスワードポリシーは、デフォルトのWindows要件に一致しています。数字または特殊文字のいずれかを含める必要があります。

残念ながら、新しいシステムのパスワードポリシーでは、番号、特殊、または両方を要求できますが、「どちらか一方」は要求できません。ただし、新しいシステムでは、正規表現による検証が可能です。

現在、次の正規表現を無効にするように設定されています。

.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*

これはかなりうまくいきます。ただし、これを数字または特殊のいずれかを許可するように変更し、前の数字も許可しないようにします。これが私が試したことです:

((?=.*\d.*)|(?=.*[-'"!#$%&()*+,./:;<=>?@[\]\^_`{|}~\\].*))(?!.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*)

しかし、これを機能させることはできません。数字/特殊グループは正常に機能しますが、単語グループは機能しません。文字列の最後に「パスワード」または何らかのバリエーションが使用されているかどうかは確認されますが、最初には使用されません。

助言がありますか?システムは標準(Perlスタイル)の正規表現を使用します。

4

1 に答える 1

0

いくつかの策略により、正規表現を組み合わせることができます。

^([^pP\d!\-'"#$%&()*+,./:;<=>?@[\]\^_`{|}~\\]|[pP](?![aA4][sS$]{2}[wW][oO0][rR][dD]))*(\d|[-'"!#$%&()*+,./:;<=>?@[\]\^_`{|}~\\])([^pP\d!\-'"#$%&()*+,./:;<=>?@[\]\^_`{|}~\\]|[pP](?![aA4][sS$]{2}[wW][oO0][rR][dD]))*$

Sublime テキスト エディターでこれを正常にテストしました。

于 2013-02-19T20:37:29.183 に答える