Kerberos полномочия делегирования
Я пробую пример программы делегирования учетных данных с использованием GSS API на клиенте и службе Active Directory. По использованию context.requestCredDeleg(true)
когда я проверяю context.getCredDelegState()
, он возвращает истину на стороне клиента до установления контекста. Но после установления контекста, когда я проверяю состояние делегирования полномочий на промежуточном сервере, он возвращает false.
Я установил для этого пользователя "Доверять этого пользователя для делегирования любому сервису (только Kerberos)". Кроме того, поле "Учетная запись чувствительна и не может быть делегирована" не отмечается в Свойствах пользователя Центра администрирования Active Directory. То же самое было применено и к свойствам пользователя службы. Я работаю как на клиенте, так и на сервере на одном и том же компьютере, который является частью домена kerberos, для свойств этого компьютера также разрешено делегирование в административном центре Active Directory.
Для справки я использовал следующее: Источник программы клиент-сервер: http://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/BasicClientServer.html
Документ по делегированию полномочий: http://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/MoreToDo.html
Образец клиент-сервер работает нормально, только я не могу выполнить делегирование полномочий.
1 ответ
Я нашел решение (надеюсь, оно поможет кому-то, столкнувшемуся с той же проблемой):
В файле krb5.ini файл forwardable = true должен быть установлен в разделе [libdefaults] вместо [appdefaults].