ここは私のケースです。System.Web.Security.MembershipProvider(EPiServer)のパスワードポリシー検証のためのチャージエラーメッセージ
私はEPiServer 9を使用していますが、次のように私はSqlServerMembershipProviderを設定している:
<add name="SqlServerMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="EPiServerXYZ"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
applicationName="/"
passwordStrengthRegularExpression="^.*(?=.{8,})(?=.*\d)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^\w\d\s]).*$" />
すべてが正常に動作している、検証と異なるシナリオを。
私たちの問題は、メンバシッププロバイダによって表示されたエラーメッセージは、コンフィギュレーションを使用して作成され、それはのようなユーザーフレンドリーなメッセージではない与えて終わるということです。、8:
- 「無効なパスワード、最小の長さを非英数字以外の文字:1 '
- ' 'newPassword'の非英数字は '1'以上である必要があります。パラメータ名:newPassword '
- 'パラメータ 'newPassword'は、configファイルで指定された正規表現と一致しません。パラメータ名:NEWPASSWORD」
私は本当にユーザーに、我々はパスワードを検証するために使用される正規表現を持っている要件のすべてを説明するカスタムエラーメッセージを設定するのが大好きです。
私がこれまで行ってきた唯一の方法は、現在のプロバイダを実装/拡張して、何かが間違っているときにカスタムエラーメッセージを設定することです。これを行う方法。
ありがとうございます!
カスタムが最適なルートであり、ValidateUser()をオーバーライドする以外に多くの作業を行う必要がない場合があります。無効な場合は、カスタムメッセージを管理してください。まずはこれを試してみてください:http://stackoverflow.com/a/12094556/2779990 –