2013-07-02 122 views
9

我有一個包含兩個站點 - 站點1,站點2的IIS 7服務器。Kerberos委派在Chrome中不起作用

site1的綁定端口80,結合站點2端口81

我有一個網頁,在該站點2發送一個HTTP GET通過$.ajax()請求到site1的一個URL。

我已經配置了兩個網站使用Kerberos:

  1. 只啓用Windows身份驗證,只有選擇談判:在供應商的Kerberos。

  2. 爲AD中的用戶/服務器配置了SPN。

我使用fiddler來監視請求標頭。

  1. 當我使用IE8,我看到了Kerberos票據從站點2通過2跳到site1的委派,Kerberos的方式應該工作。

  2. 當我使用chrome時,我看到keberos票未被委託。我收到一個401錯誤。

我試過設置:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] 
"AuthNegotiateDelegateWhitelist"="*" 

...(具體的服務器名稱),但並未奏效。

任何想法?

+0

設置[HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome] 「AuthNegotiateDelegateWhitelist」=「*」對我有幫助。 – Boogier

+2

我在[AuthServerWhitelist](https://dev.chromium.org/administrators/policy-list-3#AuthServerWhitelist)上工作時遇到困難,Chrome現在使用'HKLM \ SOFTWARE \ Policies \ Google \ Chrome'而不是'HKLM \ SOFTWARE \ Policies \ Chromium'。將'... \ Google \ Chrome \ AuthServerWhitelist'設置爲'* .example.com'協商/ Kerberos按照預期工作。 –

回答

0

您輸入的值是否有引號?

嘗試輸入*沒有引號。

完全關閉Chrome(檢查任務管理器以確認),然後重試。

如果您使用"*"加引號,它將不起作用。

2

我有相同的註冊表值添加到這個關鍵,使一切工作:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Chromium

而且有趣的是,我使用的是* .domain.local,而不只是*。

+0

不適用於我。鉻47.0.2526.73米 – Boogier