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

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

在我的 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/

相关文章:

asp.net - 名称中带有冒号的 XElement 不起作用

c# - App_Data没有访问权限

visual-studio-2013 - MSBuild错误: "The solution file has two projects named ..."

c# - 如何在 AboutBox 的描述字段内显示超链接

visual-studio-2013 - Visual Studio 2013 Update 4 未安装(错误 : Update 4 does not apply, 或被计算机上的其他情况阻止。)

asp.net - 定义 ASP.NET SOAP Web 服务响应

asp.net - ASP 创建对象时没有此类接口(interface)支持错误

ASP.NET 成员(member)密码重置

c# - 使用 OpenID(通过 DotNetOpenAuth)以及用户角色和其他成员(member)提供者功能

wcf - 使用 WCF 身份验证服务进行 Web 应用程序