2

背景/システム情報

  • Windows Server 2008 Standard x64、IIS 7.0
  • 個々のIISアプリケーションを含むIISサイトがあります。
  • 各アプリケーションには、任意のCPUでコンパイルされた.NET4.0で記述されたWebサービスが含まれています。
  • すべてのアプリケーションは同じアプリケーションプールを共有します。アプリケーションプールは.NET4.0および統合パイプラインに設定されています。
  • このサイトは、ASP.NETの偽装とWindows認証用にセットアップされています。
  • このサイトは、ドメイン/イントラネット内でのみ使用されます。
  • クライアントアプリケーション(Server 2008ボックスではなくドメイン内で実行されているC#アプリケーション)は、生成されたプロキシクラスを使用して、System.Net.CredentialCache.DefaultCredentialsメソッドを使用して資格情報を渡します。

ゴール

  • 同じサイトに存在するWebサービスメソッドを呼び出す必要のあるWebサービスメソッドがいくつかあります。サイトの下にある別のiisアプリケーションです。

問題

  • 最初のWebサービスメソッドが(生成されたプロキシクラスを介して)2番目のWebサービスメソッドを呼び出し、DefaultCredentialsまたはDefaultNetworkCredentialsを渡すと、401の不正なエラーが発生します。

これが私が知っていることと私が試したことです

  • 私はそのほとんどすべての記事をレビューしました、そして誰もがダブルホップについて話します。ダブルホップの用語について混乱しています。私は新しいマシンに飛び乗っているのではなく、同じWebサイト内の現在のマシンを使用しています。これはダブルホップではありませんか?

  • Windows Server2003のIIS6で.NET1.1と同じWebサービスを実行しており、DefaultCredentialsを2番目のWebサービス呼び出しに渡すことができます。401エラーはありません。IIS 6でセットアップされたWebサービスはすべて同じアプリケーションプールを使用しており、すべてアプリケーションとしてセットアップされています。

  • IIS7.5を実行しているWindows7開発マシンでは、これを機能させることができます。System.Net.CredentialCache.DefaultNetworkCredentialsまたはSystem.Net.CredentialCache.DefaultCredentialsを使用して、別のWebサービスのプロキシクラスを使用してWebサービスを呼び出すことができます。私のwin7IIS7.5サイトとサーバー2008サイトは同じようにセットアップされているようです。

  • サイト内のアプリケーションごとに異なるアプリケーションプール(統合パイプライン)を使用してみましたが、役に立ちませんでした(そうなるとは思いませんでした)。

  • アプリケーションプールをクラシックに設定すると、サイトが起動しません。サービス利用不可エラーが発生します。私のwin7マシンでは、クラシックまたは統合パイプラインを使用でき、正常に動作するため、これは奇妙なことです。

    近くにいるような気がします。任意の考えや入力をいただければ幸いです!

    ありがとう、

4

1 に答える 1

2

私の問題はダブルホップでした。

このリンクは役に立ちます http://odetocode.com/blogs/scott/archive/2005/02/24/roadmap-to-delegation.aspx http://blogs.msdn.com/b/larryosterman/archive/2004/06 /29/169085.aspx

ヴァーガン

于 2012-06-18T12:49:05.267 に答える