Asp.net

如何為 ASP.NET 身份設置密碼規則?

  • October 23, 2013

在我的 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 設置為您的實現。

截至目前,身份沒有 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;
   }
}

引用自:https://stackoverflow.com/questions/19530431