Пароль участника Asp.Net сбрасывается без символов - PullRequest
3 голосов
/ 27 августа 2009

Я использую в приложении поставщик членства asp.net. Я также использую элемент управления asp: PasswordRecovery "из коробки".

Мой клиент жалуется, что выдаваемые новые пароли слишком сложны. например. }> ;-( hYrS ^ OTfY

Могу ли я сделать небольшие изменения, чтобы новые пароли содержали только буквы и цифры?

спасибо!

1 Ответ

4 голосов
/ 11 декабря 2009

Это сработало:

    using System;
using System.Collections.Generic;
using System.Web.Profile;
using System.Web.Security;
using System.Text;

namespace TS.Common.MembershipProvider
{
    public class MembershipProvider : SqlMembershipProvider
    {
        /// Create an array of characters to user for password reset.
        /// Exclude confusing or ambiguous characters such as 1 0 l o i
        string[] characters = new string[] { "2", "3", "4", "5", "6", "7", "8",
            "9", "a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "m", "n",
            "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};

        const int DefaultResetPasswordLength = 10;
        private int ResetPasswordLength;

        // Create a more user friendly password to avoid confusion when
        // trying to key in the new value
        public override string GeneratePassword()
        {
            string newPassword = string.Empty;
            System.Random rnd = new Random();

            for (int i = 0; i < ResetPasswordLength; i++)
            {
                newPassword +=
                characters[rnd.Next(characters.GetUpperBound(0))];
            }
            return newPassword;
        }
    }

}

...