在我的 ASP.NET 应用程序中,我在 web.config 中的 DefaultMembershipProvider 和 SqlMembershipProvider 中有以下设置:
enablePasswordRetrieval="true"
passwordFormat="Clear"
requiresQuestionAndAnswer="false"
Digest 身份验证需要它们。我想转移到 ASP.NET Identity。我正在使用自动化工具更新我管理的所有 web.config 文件。
如何在 Visual Studio 2013 生成的项目中为 ASP.NET Identity 设置这些设置?
最佳答案
您需要提供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;
}
}
关于asp.net - 如何为 ASP.NET 身份设置密码规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530431/