簡體   English   中英

Windows 認證自動登錄 .net 核心 API

[英]Windows authentication auto login in .net core API

我想使用 windows 身份驗證自動登錄到 .net 核心 API。

我已啟用 windows 身份驗證和 rest 所有身份驗證保持禁用狀態。 現在我正在嘗試運行 API。 它的提示彈出窗口輸入登錄憑據。

我不想要任何要求用戶輸入登錄詳細信息的彈出窗口。 它應該使用當前登錄用戶自動進行身份驗證。 但是,如果我在該彈出窗口中輸入登錄詳細信息,它仍然沒有獲得身份驗證,它會一直要求我輸入憑據。

嘗試過的方法:

  • IIS中,應用池的身份設置自定義賬號,(當前登錄賬號為管理員)
  • 啟用匿名身份驗證以及 windows 身份驗證。 (當我這樣做時,API 不提供登錄彈出窗口,但它為 User.Identity.Name 提供 null object)

參考:我參考這篇文章實現了windows認證

注意:當我從 Visual Studio (IIS Express) 運行 API 時,它工作正常,但是當我將 API 托管到本地 IIS 時,我將面臨如上所述的挑戰

您必須將 hosts 文件中指定的域列入白名單,windows 身份驗證才能正常工作:

  1. 單擊開始,單擊運行,鍵入 regedit,然后單擊確定。
  2. 在注冊表編輯器中,找到以下注冊表項: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. 右鍵單擊“參數”,單擊“新建”,然后單擊“DWORD(32 位)值”。
  4. 鍵入DisableStrictNameChecking並按 Enter。
  5. 雙擊DisableStrictNameChecking注冊表值並在數值數據框中鍵入 1,單擊確定
  6. 在注冊表編輯器中,找到並單擊以下注冊表項: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  7. 右鍵單擊 MSV1_0,指向新建,然后單擊多字符串值。
  8. 鍵入BackConnectionHostNames ,然后按 Enter。
  9. 右鍵單擊BackConnectionHostNames ,然后單擊修改。
  10. 在數值數據框中,鍵入本地計算機上站點的主機名或主機名,然后單擊確定。
  11. 退出注冊表編輯器,然后重新啟動 IISAdmin 服務。

暫無
暫無

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

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