У меня есть веб-приложение, которое вызывает веб-приложение 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?
Спасибо, Пол.