在我的ASP.NET应用程序中,我在web.config中的DefaultMembershipProvider和SqlMembershipProvider中有以下设置:
enablePasswordRetrieval="true"
passwordFormat="Clear"
requiresQuestionAndAnswer="false"
它们是摘要式身份验证所必需的。我想转向ASP.NET身份。我正在使用自动化工具来更新我管理的所有web.config文件。
如何在Visual Studio 2013生成的项目中为ASP.NET Identity设置这些设置?
答案 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;
}
}