Authentication

使用帶有指向 IIS 伺服器的 A 記錄的 URL 瀏覽執行 IIS 的伺服器上的網站時,IIS 中的 Windows 身份驗證不起作用

  • May 18, 2021

我有一個在使用 Windows 身份驗證的 IIS 上執行的網站。

在網站級別,在“身份驗證”下,我只Windows Authentication啟用了(NTLM 僅作為提供者)。

在虛擬目錄級別,在“身份驗證”下,我啟用了ASP.NET ImpersonationWindows Authentication(僅作為提供者的 NTLM)。(在此處禁用ASP.NET Authentication不會改變任何內容)

  • 執行IIS的伺服器IP地址為: 172.0.0.10
  • 執行 IIS 的伺服器的電腦名是: myiisserver
  • 執行 IIS 的伺服器上的 FQDN 為: myiisserver.mydomain.com
  • 存在指向 172.0.0.10 的 DNS“A 記錄”: myapp.mydomain.com

在網站綁定上,我有:

Type  |  IP Address      |  Port  |  Host Name
--------------------------------------------------------------
http  |  All Unassigned  |  80    |  localhost
http  |  All Unassigned  |  80    |  myiisserver
http  |  All Unassigned  |  80    |  myiisserver.mydomain.com
http  |  All Unassigned  |  80    |  myapp.mydomain.com

這是我在 IIS 伺服器上執行的唯一網站。

執行網站的 App Pool 和虛擬目錄是相同的,並使用“NetworkService”作為標識。

在 IIS 伺服器和網路中的其他工作站上:

  • myiisserver 已添加到“受信任的站點”
  • myiisserver.mydomain.com 已添加到“受信任的站點”
  • myapp.mydomain.com 已添加到“受信任的站點”

在受信任的站點區域,Automatic logon using current user name and password在 IIS 伺服器和其他工作站上被選中。

在 Internet 選項 -> 高級中,Enable Integration Windows Authentication已在 IIS 伺服器和其他工作站上啟用。

在網路中的其他工作站上:

在 IIS 伺服器上:

在執行 IIS 的伺服器上更新下面的系統資料庫項解決了這個問題!

  1. 在系統資料庫編輯器中,找到並點擊以下系統資料庫​​項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 2. 右鍵點擊MSV1_0,指向新建,然後點擊多字元串值。 3. 鍵入BackConnectionHostNames,然後按 Enter。 4. 右鍵點擊BackConnectionHostNames,然後點擊修改。 5. 在數值數據框中,鍵入本地電腦上站點的主機名或主機名(即 myapp.mydomain.com),然後點擊OK

系統資料庫編輯器中的 BackConnectionHostNames 系統資料庫項值

引用自:https://serverfault.com/questions/722722