3

マシンでホストIIS 6.0されている Web アプリケーション (ASP.net 4.0 で開発) があります。この Web アプリケーションではオンになっています。Windows Server 2003 R2Integrated Windows Authentication

マシンIIS 7.5上で Web サービス (WCF を使用して開発) をホストしました。Windows Server 2008 R2'Windows Authenticationこの Web アプリケーションでも有効になっています。

  • Windows ドメイン アカウントを使用してローカル マシンにログオンします。Web アプリケーションを参照すると、ドメインのユーザー名とパスワードを尋ねられます。Web アプリでは、ID を正しく取得します。
  • 私のマシンから (他の Winform アプリを使用して)、同じ Web アプリケーション (Web サービスの) を呼び出すと、サービス コードは私の Windows ID で実行されます。

そのIntegrated Windows Authenticationため、異なるマシン上の別々の IIS でホストされている両方の Web アプリに対して独立して正常に動作します。

Web アプリケーションがローカル マシンから参照され、Web ページがサービスを内部的に呼び出すときに問題が発生します。この場合、予想どおり「サービスが自分の Windows ID で実行されません」と表示されます。これは、asp.net Web アプリまたは Web サービスの Web アプリのいずれかのアプリケーション プールの ID で実行されます。

Web サービスにユーザー認証の責任を負わせたくありません。simple を使用しますbasicHttpBindingCurrentPrincipalまたはなどを使用してユーザーの名前を読み取るHttpContextだけです。ユーザーの身元の検証は、IIS のみで行う必要があります。

ある IIS から別の IIS に Windows ID を渡すのを手伝ってくれる人はいますか?

4

1 に答える 1

1

デフォルトではIDが別のマシンに渡されないため、Kerberos委任を設定する必要があります。

http://blogs.technet.com/b/askds/archive/2008/11/25/fun-with-the-kerberos-delegation-web-site.aspx

于 2013-01-30T05:39:49.290 に答える