История изменений
Исправление Ivan_qrt, (текущая версия) :
далее мы идем в ldap с этим билетом и по нему определяем, например, имя пользователя... это реально?
По билету реально определить userPrincipalName. Он указан в самом билете и станет известен при проверке этого самого билета. Ты же ведь проверяешь пришедший тебе билет? Или твоему сервису можно любую фигню прислать, лишь бы была?
Имея userPrincipalName можно подключаться к AD под любым, заранее известным, пользователем. Для выяснения имени ему достаточно прав только на чтение и поиск. Наверняка у вас есть какой-либо ldapuser специально для этого.
Вот под этим пользователем устанавливаешь соединение и ищешь по userPrincipalName.
Подключаться к AD по gssapi с использованием полученного билета тебе нафиг не надо. Это имеет смысл только если тебе нужны привилегии подключающегося пользователя. Например, если ты хочешь заманить на свой сайт domain admin'а и удалить всех пользователей, а тебе права domain admin'а не дают.
Исходная версия Ivan_qrt, :
далее мы идем в ldap с этим билетом и по нему определяем, например, имя пользователя... это реально?
По билету реально определить userPrincipalName. Он указан в самом билете и станет известен при проверке этого самого билета. Ты же ведь проверяешь пришедший тебе билет? Или твоему сервису можно любую фигню прислать, лишь бы была?
Имея userPrincipalName можно подключаться к AD под любым, заранее известным, пользователем. Для выяснения имени ему достаточно прав только на чтение и поиск. Наверняка у вас есть какой-либо ldapuser специально для этого.
Вот под этим пользователем устанавливаешь соединение и ищешь по userPrincipalName. Подключаться к AD по gssapi с использованием полученного билета тебе нафиг не надо.
Это имеет смысл только если тебе нужны привилегии подключающегося пользователя. Например, если ты хочешь заманить на свой сайт domain admin'а и удалить всех пользователей, а тебе права domain admin'а не дают.