ASP.NET身份,需要"强"密码

 请叫我姚灬小贱_______ 发布于 2023-02-06 11:43

也许今天早上我的googlin技能不是很好,但我似乎无法找到如何使用个人用户帐户使用新的asp.net mvc5项目设置不同的密码要求(而不是最小/最大长度).

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

我不知道我想要做什么密码要求,但可能是最小长度和需要一个小写,大写字母和数字的组合.

知道我怎么能做到这一点(最好是通过模型属性)?

3 个回答
  • 另一种选择是创建一个实现IIdentityValidator<string>并将其分配给您的PasswordValidator属性UserManager.它只有一种方法,ValidateAsync你可以在那里定义你喜欢的任何类型的密码验证.我知道这与使用模型类中的属性没有一些相同的优点,就自动客户端验证而言,我想我会把它作为替代任何人的替代品.

    例如

    public class CustomPasswordValidator : IIdentityValidator<string>
    {
    
        public int MinimumLength { get; private set; }
        public int MaximumLength { get; private set; }
    
        public CustomPasswordValidator(int minimumLength, int maximumLength)
        {
            this.MinimumLength = minimumLength;
            this.MaximumLength = maximumLength;
        }
        public Task<IdentityResult> ValidateAsync(string item)
        {
            if (!string.IsNullOrWhiteSpace(item) 
                && item.Trim().Length >= MinimumLength 
                && item.Trim().Length <= MaximumLength)
                return Task.FromResult(IdentityResult.Success);
            else return Task.FromResult(IdentityResult.Failed("Password did not meet requrements."));
    
        }
    }
    

    2023-02-06 11:45 回答
  • 您可以在中配置密码要求 App_Start\IdentityConfig.cs

    // Configure validation logic for passwords
    manager.PasswordValidator = new PasswordValidator
    {
        RequiredLength = 4,
        RequireNonLetterOrDigit = false,
        RequireDigit = false,
        RequireLowercase = false,
        RequireUppercase = false,
    };
    

    2023-02-06 11:46 回答
  • 您可以将RegularExpressionAttribute与此答案中的规则一起使用:

    正则表达式验证密码强度

    2023-02-06 11:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有