Нужно ли переопределять пароль OnValidatingPassword поставщика членства по умолчанию в пользовательских реализациях?

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

OnValidatingPassword - это виртуальный метод. Пример от Microsoft не переопределяет метод.

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

Базовая функция ничего не делает? Когда я переопределяю OnValidatePassword и просто вызываю базовый класс, моя функция срабатывает, но она никогда не отклоняет мои слишком простые пароли.

Пример кода (с настраиваемой функцией CreateUser)

protected override void OnValidatingPassword(ValidatePasswordEventArgs e)
        {                        
             base.OnValidatingPassword(e);
        }
        //
        // MembershipProvider.CreateUser
        //
        public MembershipUser CreateUser(string username, string password, string globalIdentifier, string firstName, string lastName, 
            string birthDate, object providerUserKey, out MembershipCreateStatus status)
        {
            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, password, true);
            OnValidatingPassword(args);

            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return null;
            }

7
задан Community 23 May 2017 в 12:27
поделиться