状況:
Web サーバーに .NET asmx Web サービスを展開しています。このサービスは、別のサーバー (該当する場合は SharePoint サーバー) 上のサービスを呼び出します。クライアントの資格情報を使用して、Web サービスから SharePoint サービスへの呼び出しを偽装/委任したいと考えています。
問題:
MY Web サービスを呼び出すと、SharePoint サービスから 401 応答が返され、それが SharePoint を呼び出します。
設定:
- 私の Web サーバーは IIS 7 を実行しています。アプリケーション プールは「ネットワーク サービス」の下で実行されています。
- 私の Windows Server 2003 ドメイン コントローラでは、Web サーバーで「委任に対して信頼されている (Kerberos のみ)」が有効になっています。
- ISS では、アプリで匿名認証が無効、偽装が有効、Windows 認証が有効で、3 つのプロバイダー (ネゴシエート:Kerberos、ネゴシエート、および NTLM) がすべて有効になっています。
- SharePoint サーバーは、匿名を有効にし、偽装を有効にし、Windows 認証を有効にし、プロバイダー NTLM のみを有効にしてセットアップされています。
SharePoint のログを見ると、Visual Studio でローカルに実行するとユーザー名が渡される (そしてサービスが正しく動作する) ことがわかりますが、Web サーバーで実行するとログ ファイルにユーザー名がなく、401 エラーが発生します。
Kerberos 委任を機能させるには、どのような設定が間違っているのでしょうか?
アイデア?ありがとう!