Аутентификация с помощью сервисов основных данных с использованием C# в интрасети
Я новые приложения для программирования в ASP.NET. В настоящее время я разрабатываю веб-страницу в HTML Pure Javascript с использованием Visual Studio. Эта веб-страница использует AJAX для связи с кодом C #, который использует веб-службу SQL Master Data Services для получения данных.
До сих пор связь с основными данными корректно работает локально. Но когда он публикуется на сервере, он генерирует ошибку согласования безопасности SOAP.
Вот код, который я использую для создания EndPointAdress для соединения:
private static ServiceClient CreateMdsProxy(string mdsURL)
{
EndpointAddress pntFinalAddress = new EndpointAddress(new Uri(mdsURL), EndpointIdentity.CreateUpnIdentity("myemail@domain.COM"));
WSHttpBinding wsBinding = new WSHttpBinding();
wsBinding.Security.Mode = SecurityMode.Message;
wsBinding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
wsBinding.MaxReceivedMessageSize = 2147483646;
wsBinding.MaxBufferPoolSize = 2147483646;
return new ServiceClient(wsBinding, pntFinalAddress);
}
Вот файл Web.config:
Важно отметить, что я разрабатываю это в интрасети, и я хотел бы, чтобы это веб-приложение могло получать данные от пользователей, использующих его (имя пользователя), для отображения информации в зависимости от ранее предоставленного разрешения.
Кроме того, сервер, на котором публикуется веб-приложение, отличается тем, на котором размещены основные данные. В настоящее время у меня есть доступ только к серверу, на котором размещено веб-приложение (здесь IIS). Я надеюсь, что вы можете поддержать меня или направить меня.
Заранее большое спасибо.