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