【问题标题】:ASP.Net Identity PasswordHash issue on two different web applications两个不同 Web 应用程序上的 ASP.Net Identity PasswordHash 问题
【发布时间】:2020-03-18 16:21:51
【问题描述】:

我有一个连接到 SQL Server 数据库的现有 .NET 4.5 Webforms Web 应用程序。我正在使用 ASP.Net 身份。这个网站已经运行了几年了。

在我的下一个项目中,我决定在没有 EF 的 .NET Core 2.2 中创建它。它使用相同的 SQL 服务器数据库和用户表。我使用的是 Microsoft.AspNetCore.Identity.UI,我创建了我的客户 UserStore、UserRole 类。登录过程有效。

但是,.NET Core 2.2 应用程序上的登录过程会更新用户的 PasswordHash。初始登录调用 SetPasswordHashAsync,然后通过 UpdateAsync 更新用户。这意味着登录不再适用于 Webforms 应用程序。

比较两个密码散列,.NET Core 2.2 散列更长,那么它使用 a 生成它的方式不同吗?有没有办法让两个应用程序使用相同的算法?

谢谢

【问题讨论】:

    标签: asp.net sql-server .net-core webforms asp.net-identity


    【解决方案1】:

    最后很简单的解决方案,我只需要在 Startup Configure 方法中将 PasswordHasherCompatibilityMode 注册到 IdentityV2 即可。

    services.Configure<PasswordHasherOptions>(options => options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2);
    

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 2019-01-26
      • 2019-01-20
      • 2011-12-13
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多