如何为ASP.NET身份设置密码规则?

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

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

它们是Digest认证所必需的.我想转到ASP.NET身份.我正在使用自动化工具来更新我管理的所有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;
    }
}

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。