Как установить правила паролей для удостоверения ASP.NET?
В моих приложениях ASP.NET у меня есть следующие настройки в DefaultMembershipProvider и SqlMembershipProvider в web.config:
enablePasswordRetrieval="true"
passwordFormat="Clear"
requiresQuestionAndAnswer="false"
Они необходимы для дайджест-аутентификации. Я хотел бы перейти на ASP.NET Identity. Я использую автоматизированный инструмент для обновления всех файлов web.config, которыми я управляю.
Как настроить эти параметры для удостоверения ASP.NET в проекте, созданном Visual Studio 2013?
1 ответ
Вы должны предоставить IPasswordHasher
реализация, которая может обеспечить чистый пароль без хеширования. Вы можете установить UserManager.PasswordHasher для своей реализации.
На данный момент нет никаких настраиваемых параметров web.config для Identity. Вы должны предоставить соответствующее сочетание настраиваемых в коде, в основном в 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;
}
}