У меня есть приложение клиентской консоли, которое имеет некоторые учетные данные пользователя - домен \ пользователь и пароль с открытым текстом. Клиентское приложение получает объект Windowsidentity для этого пользователя, вызывая API winonUser (dwLogonType: LOGON32_LOGON_NETWORK) win32. Я использую windowsidentity для олицетворения и вызова службы WCF (размещенного на другой машине). Служба WCF настроена на использование протокола TCP с интегрированной защитой Windows. Вызов с ошибкой SecurityNegotiation невозможен с ошибкой: удаленный сервер не удовлетворял требованию взаимной аутентификации.Требуется ли включить делегирование Windows для учетной записи службы сервера?
Мое предположение заключается в том, что сервер видит анонимный идентификатор клиента, который он отклоняет, поскольку конечная точка настроена на использование встроенной аутентификации Windows. Я предполагаю, что учетная запись сервера должна быть настроена для делегирования Windows. Верно ли мое предположение?
Кроме того,
- Является ли мой выбор dwLogonType = LOGON32_LOGON_NETWORK правильно?
- Может ли токен, возвращенный LogOnUser (dwLogonType = LOGON32_LOGON_NETWORK), использоваться для выполнения удаленных вызовов WCF?
'LOGON32_LOGON_NETWORK' не предоставляет доступа к другим серверам. 'LOGON32_LOGON_NETWORK_CLEARTEXT' делает. – arx