【问题标题】:Change Password Validator Class in the ASPNet. Identity Namespace affect existing passwords?更改 ASPNet 中的密码验证器类。身份命名空间会影响现有密码吗?
【发布时间】:2019-10-10 13:55:00
【问题描述】:

我正在为现有的 ASPNet MVC 项目添加“忘记密码”功能,并且在配置 PasswordValidator 时,我想知道如果我进行任何更改,这将如何影响现有的生产用户。

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

这就是之前配置 PasswordValidation 的方式。如果我进行更改以使验证器更加严格,这是否会影响已经拥有更多“松散”密码的现有生产用户?

【问题讨论】:

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


    【解决方案1】:

    在 .NET 中,密码仅在创建期间进行验证。创建后,如果您更改验证规则,存储在数据存储中的密码将不会根据新规则重新验证,直到用户再次更改它。至少,密码在您的数据存储中是加密的。根据安全设置,密码可能会被散列。无法检索散列密码以重新验证(只能比较散列)。此外,解密密码并重新验证它们将是一个巨大的处理拖累和潜在的安全漏洞。 .NET 不这样做。您不必担心此更改会影响现有生产用户。

    【讨论】:

    • 太棒了,这正是我想要的。我在文档中找不到任何内容来回答这个特定问题。谢谢。
    猜你喜欢
    • 2021-03-28
    • 2017-06-21
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多