在 ASP .NET Core 3.1 中发布验证用户密码
Issue validating user passwords in ASP .NET Core 3.1
我有一个使用 .NET Framework 4.7.1 和 ASP .NET Identity 构建的应用程序来验证我们的用户,我正在使用 IdentityServer4 和 .NET CORE 3.1 以及 Identity Core 重写这个应用程序的身份验证部分我遇到了一个问题:在我登录新应用程序后,旧应用程序停止验证我在新应用程序中使用的用户。
重现步骤:
- 旧应用登录:成功
- 登录新应用:成功
- 老应用登录:失败,无法验证用户密码
有谁知道如何解决这个问题?
谢谢
我发现新应用程序正在更新数据库中的用户密码哈希。
找到之后,我在Startup.ConfigureServices(IServiceCollection services)方法的开头添加了如下几行代码:
services.Configure<PasswordHasherOptions>(options => {
options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2;
});
此代码启用了与旧版本 .NET Identity 的兼容模式,这解决了问题,用户密码验证正常,不再对数据库进行任何更新。
我有一个使用 .NET Framework 4.7.1 和 ASP .NET Identity 构建的应用程序来验证我们的用户,我正在使用 IdentityServer4 和 .NET CORE 3.1 以及 Identity Core 重写这个应用程序的身份验证部分我遇到了一个问题:在我登录新应用程序后,旧应用程序停止验证我在新应用程序中使用的用户。 重现步骤:
- 旧应用登录:成功
- 登录新应用:成功
- 老应用登录:失败,无法验证用户密码
有谁知道如何解决这个问题?
谢谢
我发现新应用程序正在更新数据库中的用户密码哈希。 找到之后,我在Startup.ConfigureServices(IServiceCollection services)方法的开头添加了如下几行代码:
services.Configure<PasswordHasherOptions>(options => {
options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2;
});
此代码启用了与旧版本 .NET Identity 的兼容模式,这解决了问题,用户密码验证正常,不再对数据库进行任何更新。