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