ASP.NET身份自定义PasswordValidator检查用户名

时间:2015-02-19 13:12:10

标签: c# asp.net asp.net-mvc asp.net-identity-2

我想添加一个检查,确认密码不包含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;
    }
 }

1 个答案:

答案 0 :(得分:0)

您可以查看Fluent Validation library

它有一个谓词验证器(必须),非常适合您的场景。 因此,您的验证规则将如下所示:

    RuleFor(model => model.Password)
        .Must((model, username) => !model.Password.Contains(username))