Политика паролей в профиле ASP.NET (членство)

На странице смены пароля у нас есть этот код, поэтому, если мы хотим изменить политику паролей на "StrongPolicy", есть ли у нас способ или он по умолчанию?

Также мы можем изменить это к слабой политике?

Я прочитал MSDN, но не смог его найти.

Membership mu ; 
mu=Membership.GetUser(txtUserName.Text); 

mu.UnlockUser();
var newPass= mu.ResetPassword();
mu.ChangePassword(newPass,TxtPassword.Text);

3 ответа

Решение

По умолчанию поставщик членства в.net ограничивает вас паролем длиной 7(по крайней мере), один из которых должен быть буквенно-цифровым.

Хотя есть много способов, которыми вы можете изменить это. Вы можете проверить изменение политики паролей в провайдере членства.

Использование минимальной длины и не алфавитно-цифрового символа

<membership ...>
  <providers>
    <add minRequiredPasswordLength=10 minRequiredNonalphanumericCharacters=2 .../>
  </providers>
 </membership>

Используя регулярное выражение

<membership ...>
  <providers>
    <add passwordStrengthRegularExpression= 
                    "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$" .../>
  </providers>
 </membership>

Код выше с того же сайта.

Если вы используете MVC 5 (возможно, MVC4, не проверил).

Есть хороший простой способ изменить это без изменения конфигурации. В обозревателе решений перейдите на

'App_Start' > IdentityConfig

Здесь вы увидите пароль-валидатор, изменение этих настроек позволит вам изменить сложность паролей, необходимых для вашего сайта:

manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = true, RequireDigit = true, RequireLowercase = true, RequireUppercase = true, };

По умолчанию членство в ASP.NET обеспечивает надежные пароли. Если вы хотите сделать его слабее, измените параметры конфигурации в Web.config

<membership>
    <providers>
      <add passwordStrengthRegularExpression= "" .../>
      <add minRequiredPasswordLength=... minRequiredNonalphanumericCharacters=2 .../>
    </providers>  
</membership>

MSDN

По умолчанию поставщики членства ASP.NET применяют надежные пароли. Например, поставщики SqlMembershipProvider и ActiveDirectoryMembership гарантируют, что пароли имеют длину не менее семи символов и хотя бы один не буквенно-цифровой символ. Убедитесь, что конфигурация вашего поставщика членства обеспечивает пароли, по крайней мере, такой силы. Чтобы настроить точные правила сложности паролей, применяемые вашим провайдером, вы можете установить следующие дополнительные атрибуты:

Дополнительная информация: http://msdn.microsoft.com/en-us/library/ff649487.aspx

Другие вопросы по тегам