11

在我的 ASP.NET 应用程序中,我在 web.config 中的 DefaultMembershipProvider 和 SqlMembershipProvider 中有以下设置:

enablePasswordRetrieval="true"
passwordFormat="Clear" 
requiresQuestionAndAnswer="false" 

它们是 Digest 身份验证所必需的。我想迁移到 ASP.NET Identity。我正在使用自动化工具来更新我管理的所有 web.config 文件。

如何在 Visual Studio 2013 生成的项目中为 ASP.NET Identity 设置这些设置?

4

1 回答 1

21

您需要提供IPasswordHasher可以在没有散列的情况下提供清晰密码的实现。您可以将 UserManager.PasswordHasher 设置为您的实现。

截至目前,身份没有 web.config 可配置设置。您需要在代码中提供适当的可配置组合,主要在 Startup.cs

不建议以明文格式存储密码。

public class ClearPassword : IPasswordHasher
{
    public string HashPassword(string password)
    {
        return password;
    }

    public PasswordVerificationResult VerifyHashedPassword(string hashedPassword, string providedPassword)
    {
        if(hashedPassword.Equals(providedPassword))
            return PasswordVerificationResult.Success;
        else return PasswordVerificationResult.Failed;
    }
}
于 2013-10-23T05:38:21.140 回答