Проверка подлинности Windows WCF, когда контроллер домена недоступен - PullRequest
0 голосов
/ 05 октября 2018

У меня есть служба WCF, использующая проверку подлинности Windows: эта служба доступна через https://subdomain.mydomain.com/MyService.svc Текущая конфигурация:

  <netTcpBinding>
    <binding  name="SecureNetTcpBinding">
      <security mode="Transport">
        <transport clientCredentialType="Windows" />
        <message clientCredentialType="Windows" />
      </security>
    </binding>
  <netTcpBinding>

Клиент использует SPN для проверки подлинности сервера (spn: MyService / subdomain.mydomain.com).

Когда пользователь подключен через VPN к домену, аутентификация работает нормально.Но когда VPN отключена, он не может подключиться: в сообщении об ошибке говорится, что контроллер домена не может быть найден:

System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception. ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The system cannot contact a domain controller to service the authentication request. Please try again later

Так может кто-нибудь сказать мне, возможно ли сделать этот сценарий возможным?

ОБНОВЛЕНИЕ 1: Мне хотелось бы использовать сценарий проверки подлинности Windows, как в браузере: браузер отправляет проверку подлинности Windows, и ему не требуется подключение к контроллеру домена.Работает с закрытым VPN.

1 Ответ

0 голосов
/ 06 октября 2018

На самом деле, я думаю, что ответ скрыт в вашем вопросе.Поскольку SPN требуется некоторая конфигурация для работы (, отметьте это ), когда VPN-соединение подключено, эта конфигурация работает нормально, а при отключении - нет.

Ваша проблема связана с подключением кслужба аутентификации ( проверьте это тоже ).Когда вы говорите, что браузер работает, я предполагаю, что стороннее приложение не работает?

Продолжая с этим предположением и поскольку браузер работает нормально (я полагаю, вы вызываете конечные точки wcf с помощью включенного метода тестирования веб-браузера)интерфейсы), проверьте, использует ли браузер какой-либо прокси или нет.Проверьте также из разных веб-браузеров.

Можно подумать, что стоит попробовать позвонить в службу с помощью soapui или другого приложения soap wcf functions с закрытой VPN и посмотреть, что произойдет.Кроме того, проверьте наличие настроек брандмауэра, которые могут не позволить неизвестным агентам или приложениям проходить через ваш SPN.Как на стороне клиента, так и на стороне сервера.

Это хороший момент для начала расследования.

...