R34*_*V3r 6 c# asp.net identity asp.net-identity
所以我试图让 ASP.NET 使用自定义的密码哈希器。当我使用以下代码更改哈希器时,注册有效
IPasswordHasher hasher = new CustomPassword();
UserManager.PasswordHasher = hasher;
Run Code Online (Sandbox Code Playgroud)
但在 acountcontroller 中使用以下代码作为登录方法时,登录方法一直说我的凭据不存在
IPasswordHasher hasher = new CustomPassword();
SignInManager.UserManager.PasswordHasher = hasher;
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
小智 0
我有类似的问题,答案并不明显。这是在 .Net6 中完成的,但我相信对于您使用的任何版本都应该是相同的。
您需要确保在调用 AddIdentity 之前添加passwordhasher
builder.Services.AddTransient<IPasswordHasher<ApplicationUser>, PasswordHasherService>();
builder.Services.AddIdentity<ApplicationUser, IdentityRole>()
Run Code Online (Sandbox Code Playgroud)
然后 SigninManager 将使用您定义的密码哈希器而不是默认的密码哈希器。
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |