如何设置ASP.NET标识的密码规则?

时间:2013-10-23 00:01:41

标签: asp.net asp.net-membership visual-studio-2013 sqlmembershipprovider asp.net-identity

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

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

它们是摘要式身份验证所必需的。我想转向ASP.NET身份。我正在使用自动化工具来更新我管理的所有web.config文件。

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

1 个答案:

答案 0 :(得分:19)

您需要提供IPasswordHasher实施,可以提供清晰的密码而无需散列。您可以将UserManager.PasswordHasher设置为您的实现。

截至目前,Identity没有可配置的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;
    }
}