サーバーが 1 台あります (Windows 2003/IIS 6)。このサーバーには、IIS でいくつかの異なる "Web サイト" が設定されています。各サイトは、IIS で個別のホスト ヘッダー (ポート 80) を使用して構成されます。さらに、各サイトには、指定されたポート番号 (ホスト ヘッダーなし) を介してアクセスすることもできます。
例えば:
MySite1: http://apps.mysite1.com または http://myserver:xxxx
MySite2: http://something.mysite2.com または http://myserver:yyyy
ホスト ファイル (開発マシン) を編集して、各サイトのホスト ヘッダーをローカル マシン (127.0.0.1) にリダイレクトしました。
1 つの IIS サイト (mysite1) に ASP.NET 2.0 Web サイトがあり、別の IIS サイト (mysite2) に ASP.NET 2.0 Web サービスがあります。Web サイトは、次のようなコードを使用して Web サービスと通信します。
MyWebService svc = new MyWebService();
//also have tried "http://myserver:yyyy/MyWebService.asmx" below
svc.Url = "http://something.mysite2.com/MyWebService.asmx";
svc.Credentials = System.Net.CredentialCache.DefaultCredentials;
svc.MyMethod();
すべてのサイトは Windows 統合セキュリティ用に構成され、ASP.NET は <identity impersonate="true" /> を使用した Windows 認証用に構成されています。セキュリティ モデルでは、Web アプリケーションにログインしたユーザーは、Web サービスに至るまで (その後、基盤となるデータベースに至るまで) 認証される必要があると規定されていますが、これは必ずしもここでは関係ありません)。
これで問題なく動作しましたが、Web サービス (新しい方法) を再構築したところ、401 Unauthorized メッセージで終了する Web サービス呼び出しの結果が機能しなくなりました。
ダブルホップの問題のように聞こえます。Web サービスが渡された資格情報を受け入れず、新しい資格情報を渡すのに挑戦していることに関係があると思います。これを確認する方法がわかりません。なぜ挑戦するのかわかりません-私はマシン/ドメイン管理者としてログインしており、IE は [インターネット オプション] > [セキュリティ] タブ > [カスタム レベル] > [イントラネット ゾーンの自動ログオン] で資格情報を渡すように構成されています。はい、関連するサイトが「イントラネット ゾーン」に追加されます。
これをトラブルシューティングする最善の方法は何ですか? 今これを引き起こしている可能性のあるものについてのアイデアはありますか?
ティア!