這裏是我的情況。在System.Web.Security.MembershipProvider(EPiServer)中的密碼策略驗證Chage錯誤消息
我使用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'與配置文件中指定的正則表達式不匹配。參數名:NEWPASSWORD」
我很想設置自定義錯誤消息,這確實說明了用戶所有的,我們在這是用來驗證密碼的正則表達式的要求。
目前我能想到的唯一方法是通過實現/擴展我們正在使用的當前提供者來設置自定義錯誤消息,當驗證出現問題時,但我想可能會有另一個更好/更簡單的這樣做的方式。
提前致謝!
自定義可能是最好的路線,除了重寫ValidateUser()之外,您可能不需要做太多的事情。如果無效,那麼只管理您的自定義消息。試試這個初學者:http://stackoverflow.com/a/12094556/2779990 –