Я пытаюсь написать тестовое приложение, которое выполняет делегирование Kerberos. Я написал весь код, и, похоже, он работает (я в порядке аутентификации), но в результирующем контексте безопасности не установлен флаг ISC_REQ_DELEGATE.
Поэтому я думаю, что, возможно, одну из конечных точек (клиент или сервер) запрещено делегировать. Однако я не проверяю подлинность по SPN. Только один пользователь домена против другого пользователя домена. В качестве SPN для InitializeSecurityContext()
я передаю [email protected] (это учетная запись пользователя, под которой запущено серверное приложение). Насколько я понимаю, у пользователей домена по умолчанию включено делегирование. В любом случае, я попросил администратора проверить, а флажок «учетная запись является конфиденциальной и не может быть делегирован» отключен.
Я знаю, что если бы мой сервер работал как СЕТЕВАЯ СЛУЖБА, и я использовал SPN для подключения к нему, тогда мне понадобится учетная запись компьютера в AD, чтобы установить флажок «Доверять компьютеру для делегирования» (по умолчанию отключен), но ... это не так, правда? Либо это?
Также - когда установлен флажок в учетной записи компьютера, изменения вступают в силу немедленно, или я должен перезагрузить серверный компьютер или подождать некоторое время?