Как можно протестировать, если пароль членства ASP.NET будет отвечать настроенным требованиям сложности?

20
задан Community 23 May 2017 в 11:45
поделиться

5 ответов

Можно использовать следующие свойства для тестирования пароля против:

, что свойство PasswordStrengthRegularExpression будет пустой строкой, если Вы не настроили его в web.config файле.

Для получения информации о соответствии регулярного выражения, посмотрите ссылку MSDN на Regex. IsMatch (Строка)

*Thanks Matt для полезных комментариев.

18
ответ дан 29 November 2019 в 23:41
поделиться

Это не может быть самым легким путем, но использовать блок проверки допустимости регулярного выражения на странице и заставить его соответствовать требованиям пароля. Тем путем Вы не должны даже отправлять назад, если пароль не хорош.

0
ответ дан 29 November 2019 в 23:41
поделиться

Можно использовать Блок проверки допустимости Регулярного выражения, чтобы проверить, отвечает ли пароль требованиям сложности.

Также можно использовать Метр Силы Pasword управление.

0
ответ дан 29 November 2019 в 23:41
поделиться
/// <summary>
/// Checks password complexity requirements for the actual membership provider
/// </summary>
/// <param name="password">password to check</param>
/// <returns>true if the password meets the req. complexity</returns>
static public bool CheckPasswordComplexity(string password)
{
    return CheckPasswordComplexity(Membership.Provider, password);
}


/// <summary>
/// Checks password complexity requirements for the given membership provider
/// </summary>
/// <param name="membershipProvider">membership provider</param>
/// <param name="password">password to check</param>
/// <returns>true if the password meets the req. complexity</returns>
static public bool CheckPasswordComplexity(MembershipProvider membershipProvider, string password)
{
    if (string.IsNullOrEmpty(password)) return false;
    if (password.Length < membershipProvider.MinRequiredPasswordLength) return false;
    int nonAlnumCount = 0;
    for (int i = 0; i < password.Length; i++)
    {
        if (!char.IsLetterOrDigit(password, i)) nonAlnumCount++;
    }
    if (nonAlnumCount < membershipProvider.MinRequiredNonAlphanumericCharacters) return false;
    if (!string.IsNullOrEmpty(membershipProvider.PasswordStrengthRegularExpression) &&
        !Regex.IsMatch(password, membershipProvider.PasswordStrengthRegularExpression))
    {
        return false;
    }
    return true;
}
19
ответ дан 29 November 2019 в 23:41
поделиться
[

]У меня нет доступа к вики.[

] [

]Одна строка должна быть отрегулирована, чтобы исправить небольшую ошибку.[

] [

]модификация если (NonAlnumCount < Членство.MinRequiredNonAlphanumericCharacters) таким образом if (nonAlnumCount < членствоProvider.MinRequiredNonAlphanumericCharacters)[

]
3
ответ дан 29 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: