0

さまざまなサーバー (Web サーバー、アプリ サーバー、データベース サーバー) で、すべて basicHttBinding を使用して、いくつかのサービスで WCF Web アプリケーションを呼び出す Web アプリがあります。サービスの 1 つは、Active Directory アカウントを使用して呼び出す必要があるデータベースに接続する必要があります。Web サイトから入ってくるユーザーは匿名です。

このユーザーを設定するための資格情報が与えられましたが、機能させることができません。次のように、Web サーバー上に自分のチャネルを作成します。

ChannelFactory<T> channelFactory = GetChannelFactoryFromPool<T>(enpointAddress);       
channelFactory.Credentials.Windows.ClientCredential.UserName = username;
channelFactory.Credentials.Windows.ClientCredential.Password = password;
channelFactory.Credentials.Windows.ClientCredential.Domain = domain;
proxy = channelFactory.CreateChannel();

アプリサーバーのサービスで、これを行うことで資格情報が正しいかどうかを判断しようとしています:

var ssc = ServiceSecurityContext.Current;

ただし、ssc は常に null です。これはbasicHttpBindingで行うことができますか?

ありがとう、ポール

4

1 に答える 1

2

この MSDN の優れた記事に記載されているように、basicHttpBinding は Windows 認証をサポートしています。また、期待どおりにセキュリティ コンテキストが設定されるように、クライアント資格情報の偽装を許可するようにサービス操作が構成されていることを確認する必要があります。

于 2012-10-05T18:21:28.400 に答える