У меня есть веб-сервис WCF с использованием basicHttpBinding с NTLM, размещенным в IIS 7 (анонимная аутентификация отключена и включена проверка подлинности Windows). AppPool с использованием сквозной аутентификации. У меня есть консольное приложение, удаленно подключающееся к веб-службе.Как аутентифицировать консольное приложение с помощью веб-службы WCF с помощью NTLM?
Если я подключаюсь с помощью , моего домена, процесс успешно соединяется. Если я подключиться с помощью новой учетной записи службы, созданной на домене, я получаю следующее сообщение об ошибке:
The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'.
Внутреннее исключением является:
The remote server returned an error: (401) Unauthorized.
Это проблема с учетной записью домена или мою схему аутентификации ? Сообщение об ошибке означает, что это схема аутентификации, но почему она работает под моей учетной записью, а не с учетной записью службы, созданной в том же домене?
сервер Config
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
</security>
Потребление Клиент
public static WMServiceClient CreateWMServiceProxy()
{
var proxy = new WMServiceClient();
proxy.Endpoint.Address = new EndpointAddress(ConfigurationCache.WMServiceEndpoint);
proxy.Endpoint.Binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly)
{
MaxBufferSize = 2147483647,
MaxReceivedMessageSize = 2147483647
};
((BasicHttpBinding) proxy.Endpoint.Binding).Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
return proxy;
}
Эти сообщения имеют внутренние исключения, которые объясняют, что происходит под капотом. Моя первая мысль заключается в том, что учетная запись службы не имеет соответствующих разрешений AD для проверки вашей личности. – Sean
Хорошая мысль. Я задержу внутреннее исключение и отправлю обратно то, что я нахожу. –
Обновлено сообщение с внутренним исключением. Похож на 401. Я поеду с командой безопасности. –