在我的ASP.NET应用程序中,我在web.config中的DefaultMembershipProvider和sqlMembershipProvider中有以下设置:
enablePasswordRetrieval="true" passwordFormat="Clear" requiresQuestionAndAnswer="false"
它们是Digest认证所必需的.我想转到ASP.NET身份.我正在使用自动化工具来更新我管理的所有web.config文件.
解决方法
您需要提供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; } }