簡體   English   中英

在 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 重寫這個應用程序的身份驗證部分,我遇到了一個問題:在我在新應用程序中登錄,舊應用程序停止驗證我在新應用程序中使用的用戶。 重現步驟:

  1. 登錄舊應用程序:成功
  2. 登錄新應用:成功
  3. 舊應用登錄:失敗,無法驗證用戶密碼

有誰知道如何解決這個問題?

謝謝

我發現新應用程序正在更新數據庫中的用戶密碼哈希。 找到之后,我在 Startup.ConfigureServices(IServiceCollection services) 方法的開頭添加了如下幾行代碼:

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

此代碼啟用了與舊版本 .NET Identity 的兼容模式,這解決了問題,用戶的密碼得到了很好的驗證,並且不再對數據庫進行任何更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM