私はいくつかのWCFサービスを呼び出すasp.net Webアプリケーションを持っています。 Webアプリケーションはwww.mydomain.comにあり、サービスはservices.mydomain.comにあります。それらは同じサーバーからホストされます。明示的に資格情報を設定せずにWCF Windows認証が機能する方法
<binding name="WindowsSecuredBinding">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
</binding>
と、これらの新しい安全なエンドポイントを使用するようにクライアントのWebアプリケーションを構成し:
私は、トランスポートセキュリティ(HTTPS)およびWindows authenicationを使用するサービスへのセキュアなエンドポイント(bassicHttpBindings)を追加しました。次のステップでは、Windows認証に合格するためにクライアントの資格情報を設定するために、Webアプリケーションにいくつかのコードを記述することを期待していました。私の驚いたことに、クライアントの資格情報を設定せずにサービスコールが成功しています。私はそれがWebアプリケーションが実行されているアカウントを送信する必要がありますが、確認する方法を知らないと仮定しています。他のシナリオでは、私は暗黙のデフォルトを持たないクライアントの資格情報を見たと思いました。どのように認証が成功している
- :
だから私は2つの質問がありますか?それは、ブラウザのユーザーの資格情報、資格情報の下で実行されているアプリを実行するユーザーを送信しますか?
- 認証プロセスをデバッグ/ログ/トレースするにはどうすればよいですか?セキュリティを検証できるように、少なくとも認証されているユーザー名を確認したいと思います。あなたは、サーバーとクライアント側でそれを持っているとして、あなたの現在の構成で
ウィンドウ認証には[Kerberos]が使用されます(http://support.microsoft.com/kb/217098)IIRC。私はそれが現在のアイデンティティを使用していると信じていますが、もしそれが設定可能かどうか、またはすべての細部の仕組みがどうなっているのかはわかりません。 –