11

サイト 1 とサイト 2 の 2 つのサイトを持つ IIS 7 サーバーがあります。

site1 はポート 80 をバインドし、site2 はポート 81 をバインドします。

$.ajax()サイト 2 に、サイト1 の URL を介して http get 要求を送信する Web ページがあります。

kerberos を使用するように両方のサイトを構成しました。

  1. プロバイダーで Windows 認証のみを有効にし、negote:kerberos のみを選択しました。

  2. AD のユーザー/サーバー用に構成された SPN。

フィドラーを使用してリクエスト ヘッダーを監視します。

  1. IE8 を使用すると、kerberos チケットが 2 ホップ経由で site2 から site1 に委任され、kerberos が機能するはずです。

  2. Chrome を使用すると、keberos チケットが委任されていないことがわかります。401 エラーが発生します。

設定してみました:

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

...(特にサーバー名)、しかし機能していません。

何か案は?

4

4 に答える 4

2

すべてを機能させるには、このキーに同じレジストリ値を追加する必要がありました。

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Chromium

* だけでなく *.domain.local を使用していることにも注目してください。

于 2013-10-17T18:34:49.940 に答える
0

Edge Chromium があるとします。以下のレジストリ スクリプトを実行すると、両方のブラウザで修正されます

Windows レジストリ エディタ バージョン 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "AuthNegotiateDelegateAllowlist"="*"

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

レジストリ内の * の周りに引用符がないレジストリから両方のキーを抽出しましたが、抽出されたキーは上記の投稿とまったく同じように見えます

于 2020-06-17T14:19:35.600 に答える