WCF Изменение учетных данных

У меня есть веб-приложение, которое вызывает веб-приложение WCF с несколькими службами, использующими basicHttBinding, на разных серверах (веб-сервер, сервер приложений и сервер базы данных). Одна из служб должна подключаться к базе данных, которая должна вызываться с использованием учетной записи Active Directory. Заходя с веб-сайта, пользователь анонимен.

Мне были предоставлены учетные данные для установки этого пользователя, но я не могу заставить его работать. Я создаю свой канал на веб-сервере следующим образом:

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 всегда равен нулю. Можно ли это сделать с помощью basicHttpBinding?

Спасибо, Пол.


person Paul Speranza    schedule 05.10.2012    source источник


Ответы (1)


BasicHttpBinding поддерживает проверку подлинности Windows, как в этом документе Статья MSDN. Вам также необходимо убедиться, что операции службы настроены на разрешить олицетворение учетных данных клиента, чтобы обеспечить правильное заполнение контекста безопасности.

person Sixto Saez    schedule 05.10.2012