我想添加一个检查,确认密码不包含ASP.NET Identity框架中的用户名。
自定义PasswordValidator的实现应该可以正常工作,但是如何访问用户名?
public class CustomPasswordValidator : PasswordValidator
{
public override async Task<IdentityResult> ValidateAsync(string password)
{
var result = await base.ValidateAsync(password);
//How to access username here
return result;
}
}
答案 0 :(得分:0)
您可以查看Fluent Validation library
它有一个谓词验证器(必须),非常适合您的场景。 因此,您的验证规则将如下所示:
RuleFor(model => model.Password)
.Must((model, username) => !model.Password.Contains(username))