Я работаю над реализацией специального поставщика членства для моего приложения .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;
}