powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SPNEGO не авторизует пользователей с большим числом групп.
24 сообщений из 49, страница 2 из 2
SPNEGO не авторизует пользователей с большим числом групп.
    #39004553
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaBlazkowicz, CORS тут пока ни при чем. У него тестовый стенд не меняется и в некоторых случаях авторизация проходит удачно.
yelena, если вы не коллега ТС, то оставьте свои остроумные комментарии при себе. В 90% подобных случаев ТС что-то где-то недоглядел и проблема была совсем не там где искали. Вот я и предлагаю варианты.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004556
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaВ общем, уже понятно, что этот человек это приложение не разрабатывал, но пытается им пользоваться. Наверное, админ. Может, вернуть приложение разработчикам, указав на проблему, чтобы они его протестировали сами?
Не все телепаты, похоже, в отпуске. Давайте вы не будете судить о компетенции ТС, так как из комментариев выше видно что его компетенция в SPNEGO поболе вашей.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004561
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, извините, но и вашей компетенции тут тоже не хватает. А мне эта тема интересна, поэтому буду читать и высказываться. Тут люди не крутизной меряются. А если бы автор по-аккуратнее суть проблемы объяснил, то, может, и лишних комментариев не было бы.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004575
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaBlazkowicz, извините, но и вашей компетенции тут тоже не хватает.
Хамло.

yelenaА мне эта тема интересна, поэтому буду читать и высказываться. Тут люди не крутизной меряются.
Да-да. В общем, уже понятно, что вам уже всё понятно:
yelenaВ общем, уже понятно, что этот человек это приложение не разрабатывал, но пытается им пользоваться. Наверное, админ.

yelenaА если бы автор по-аккуратнее суть проблемы объяснил, то, может, и лишних комментариев не было бы.
Автор подробно объяснил что запрос из браузера в сервис каким-то образом блокируется и что это какой-то мистикой связано с группами пользователя. Нужно выяснить кто, на каком этапе и почему заблокировал запрос из браузера на сервер.
Автор четко обрисовал этот проблемный шаг и теперь в него стоит углубиться. Вы же предлагаете смотреть совсем в другую сторону.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004576
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelena,

Вам, как эксперту, предлагается придумать какие причины блокировки запроса могут быть помимо AdBlock, Proxy и CORS?
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004587
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, я разработчик приложения (но не браузера, и не клиента SPNEGO и не протокола Kerberos) и подробно расписал весь процесс. Я бы сам рад подебажить, но оно не дебажится и все тут. Дебажить я умею, и есть опыт дебага js, java, pl/sql.

Консоль и Network грубо говоря пустые. Дебажил в Chrome и IE. На следующей неделе доберусь до Firefox, просто все это надо настраивать на машине (учетке) тех, у кого не работает авторизация. Под своей же учеткой мне напряжно просить каждый раз админа добавлять/удалять группы, т.к. сам процесс успешной LDAP аутентификации мне нужен, т.к. допиливаю другие части по интеграции.

Описываю алгоритм еще раз и прикладываю логи nginx'a со специальным логированием хедеров:

Вначале успешный случай (малое число групп):
1) Отправляем запрос на /ldapAuthentication, получаем 401 и response header: WWW-Authenticate: Negotiation, что дает клиенту знак, что надо пообщаться с AD взять ключ и прислать хеш.
2) Получив ключ от AD отправляется еще один запрос /ldapAuthentication с request header’ом: Authorization (внутри которого хеш ключа), получаем статус 200.

Вот как выглядит nginx лог для пользователя с малым числом групп.
10.6*.**.*** - - [10/Jul/2015:09:34:40 +0500] "GET /ldapAuthentication HTTP/1.1" 401 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36" "-" "-" "Negotiate"
10.61.35.212 - - [10/Jul/2015:09:34:40 +0500] "GET /ldapAuthentication HTTP/1.1" 200 59 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36" "-" "Negotiate YIIJWQYGKwYBBQUCoIIJTTCCCUmgMDAuBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHgYKKwYBBAGCNwICCqKCCRMEggkPYIIJCwYJKoZIhvcSAQICAQBuggj6MIII9qADAgEFoQMCAQ6iBwMFACAAAACjggd/YYIHezCCB3egAwIBBaEKGwhVUi5SVC5SVaIkMCKgAwIBAqEbMBkbBEhUVFAbEWRldi1ib2Vpc3NkLnJ0LnJ1o4IHPDCCBzigAwIBF6EDAgEDooIHKgSCByYrszBq0JBaM3n9f1PNw9NupMHKYpDfGCJzNYltK5nYi7c9K5FzuW3/Srk/j5OQ2/Udau5/jmy0Rhr4e464iRmakNqw3O9A7qG5o6tiHXk9njyEf4ND9pYq/molZSsJpFe7Y13+G/+6M2wc3RUIty5cOMNJKGvFj3VtjgdG0r75ecBTWNNZBSjzkZFpo5/QNqS9Zsbe2RrtXSR9pssY9f5Ass5LKiH0YoTI+FJvcLoLpIGTJP65URSPnNqkqDNNWxE2Y5XGSHJS0nGUWBova0+d58iM8TuQq1AHEejF6NXsbKeI0xVIn5VNjRkj3GY4cz/gblhpnUt7X300dQHvKBj3g2z35Y34lV5f1g+12xnBFVxcwgJguhbc68CBjGHb1eGV5/KQZcFp2aYXEG24oB180d4NfnkXm3ZZp+kUAmmOBsl/sTkxBylk3kcFvLok9kuVtuNNJBwHGl5R5va5hTWDKqj4ObCwSAq/uJZNy6iCaabe+pxO0e7HQUwxE/EDSykyDdITDo/vLcEiaMArf/9JlQbalCnZQLxnwWw7CiDQYe4wuVhgO8US7NzolE0+zW2iPWL/6m8Fq7TS3pGVMQQBkdZ3gSPOeNaolgi0IY7nrV9R2Zcp15RXzK7MOB7dlyEyfrge7PJnZZPP+HaG2f13P3l3osjAsgU9gvX/LTJ7AygB2RA13bbH24jehnqdPWVVB+zjXXb1FJ94Xa36uFl/k8qBwSa8GqdDwAEYH9i4A0bKDoTbtHnKqwZNROAiSeCdg3cbM+3PCyKT8VIF91xFk/aAf2w2bBbz8M8Taa+VGRMChXDr27az8ouSJlAtwitJmWAJIsxIlHhQsycAbJBMUnI3IdDW9x1TLn2Ws3x+JJVRq+U8PL5aQ18s71q2xkY1aDjdJL8yPCZ8DE2AX4cnxVoSbAFTx7nV5aOoUFZfqIx4B8RrYNrS0y+HYC2Qlvcz7WUE/EztzCpwfjfCMi3jks7jTu+3vh9sfQvKE6IeF4fslLz8UM3pa9mUIE05h65wFmw18f9C2/go5bUdmkggFcMIIBWKADAgEXooIBTwSCAUvgvr7/hrKIRoJzNHj51WdLQU9nrPJ19oct2a+JKtIzr21ki35jXF+H5YEArhBCBDNSlOb5s5f7TGOzIq78OAB9O4GsL5z9XGrneZZjhK0/R5S+ULjcxcOYyYSLOnnBQhYK19ObGqJNVIwRUJ3sjuf9Le5ad6sA6HEeCTtGKrqgm3+/2f7PlDBW4PFX7obPwIA8LDxUPrSkXb5e7VuiMql+xnzDYgcW/HHOvDlO+V/qSzzWx1IimUuldiiEngfTbSbF1LYB6fM3pjzCPui/0581id5aUkE/WeMxQDWrw9Lr0v9MU2IV3r7hvzrhHJz3r5jD87zJ8n4HVdrUSA7SBuDKU8dFrznneDvVOMvtyjcQf1GrbDB4z+PzYekXjkXW+vC0zbA0HbhcLQticJZZG9BFXF3o03gMqqukR5p/SSxqa22rDzWm+GoOLmSt" "Negotiate oYHrMIHooAMKAQChCwYJKoZIhvcSAQIComkEZ2BlBgkqhkiG9WMFSgAwIBBaEDAgEPokgwRqADAgEXoj8EPfBByib2vY9GjX/r4+r5ovCHSYONPN6gV9XpS+9s0PHFlknbFDf+QhLZfAb1YwVKADAgEFoQMCAQ+iSDBGoAMCAReiPwQ98EHKJva9j0aNf+vj6vmi8IdJg4083qBX1elL72zQ8cWWSdsUN/5CEtl+ko3GN7+xepfdVGDXpGjrv8lIdg=="

Т.е. вначале сервер нас посылает за ключом, потом мы его отправляем и все норм.
Теперь рассмотрим лог неудачного запроса (с большим количеством групп):

10.6*.**.*** - - [10/Jul/2015:09:37:17 +0500] "GET /ldapAuthentication HTTP/1.1" 401 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36" "-" "-" "Negotiate"
10.6*.**.*** - - [10/Jul/2015:09:37:17 +0500] "GET /ldapAuthentication HTTP/1.1" 401 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36" "-" "-" "Negotiate"

Видно, что сервер вначале отправляет получать ключ от AD, но потом браузер присылает запрос без хеша ключа, и отказ. Почему браузер во втором запросе не отправляет ключ - загадка, т.к. этот ключ уже есть в списке полученных ключей klist.
Код моего приложения тут не при чем, т.к. все по сути работает "из коробки". Весь вопрос сводится к тому, что может где-то что то подкрутить в конфиге spnego/krb5.conf/login.conf, и главное, может что-то надо изменить в AD.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004591
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да не кипятитесь вы.
Обе стороны интересны для решения.
Как "конфигуразм" библиотек и эксплореров, так и трейс\логи\отладка хидеров по маршруту или кода.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004596
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeyKh24, давайте я с вами буду общаться.

Я вот, например, не пойму, почему вы говорите, что затык происходит на 7-м шаге схемы.

На приведенных скриншотах (начнем с удачного) я вижу, что браузер делает запрос ldapAuthentication и получает ответ сервера с заголовком WWW-Authenticate:

Тогда по схеме браузер должен обратиться к Kerberos, а потом повторить запрос, указав authentication credentials. Это уже 7-й шаг.

Получается, что в плохом случае, у него с самого начала (с шага 1) цепочка не работает.

И еще в случае скриншота с удачным реквестом на 1-м шаге реквеста на скиншоте мы как раз и не видим, чтобы что-то сравнивать.


Я хочу поискать, чем можно подебажить обращение к Kerberos.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004599
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelenaЯ хочу поискать, чем можно подебажить обращение к Kerberos. Хотя, наверное, он нормально и честно отрабатывает.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004602
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyKh24,

Я бы на вашем месте больше экспериментировал с группами, так как догадка "много групп" слишком странная чтобы быть правдой. Скорее всего дело в самих группах, а не в количестве. Не так ли ведёт себя браузер если у пользователя нет прав?
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004605
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yelenaAlexeyKh24, давайте я с вами буду общаться.
Давайте. У нас же тут приватный чатик.

yelenaЯ вот, например, не пойму, почему вы говорите, что затык происходит на 7-м шаге схемы.
На приведенных скриншотах (начнем с удачного) я вижу, что браузер делает запрос ldapAuthentication и получает ответ сервера с заголовком WWW-Authenticate:
Тогда по схеме браузер должен обратиться к Kerberos, а потом повторить запрос, указав authentication credentials. Это уже 7-й шаг.
Получается, что в плохом случае, у него с самого начала (с шага 1) цепочка не работает.

Отвечает ТС:
AlexeyKh24Почему браузер во втором запросе не отправляет ключ - загадка, т.к. этот ключ уже есть в списке полученных ключей klist.

yelenaЯ хочу поискать, чем можно подебажить обращение к Kerberos.
Взять простейшего HTTP клиента на Java и включить там логировние теми же ключами что ТС привел в начале.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004608
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в spnego протоколе группы точно не принимают участие. Это только аутентификация.
Другое дело, если группы у таких пользователей сильно ограниченные, например, для этих групп не настроены доверенные сервера (или, по крайней мере, сервер приложений не является доверенным). А браузер передает токен только доверенным серверам. В этом случае результат будет именно таким, как на 1-й картинке
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004609
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123AlexeyKh24,
Сервлет вызывается по AJAX или как? В какой момент?

В данном конкретном случае при тестировании вызывается GET запросом, просто захожу по конкретному url в браузере. В приложении используется как GET запрос по AJAX, тоже нормально работает (для пользователей с небольшим количеством групп).

ivanraAlexeyKh24,

так может, у этих пользователей сервер приложений просто не включён в список доверенных узлов?

Включено, подробно настраивал браузеры IE, Firefox. Причем если залогиниться под моей учеткой с их компьютера - работает, т.к. у меня мало групп.

Blazkowicz У вас один домен используется как при аутентификации, так и в сервисах? CORS не настроен?

Домен один

BlazkowiczAlexeyKh24,

Не пробовали удалять группы по одной из групп пользователя? Может всё же дело в настройках одной какой-то группы, а не в количестве?

Если честно, то до такого экзотичного тестирования еще не доходили, но возможно скоро от безысходности придется попробовать. Вообще в SPNEGO у нас не настроена какая либо политика по группам, т.е. вход доступен всем, лишь бы ты был в домене.
А так были следующие тест-кейсы:
Мне добавили 40 доп тестовых групп - аутентификация перестала работать.
Создали учетку, копию блокируемой - не работает. Сократили количество до двух групп - работает.
Создали пустую учетку без групп - работает.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004618
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyKh24Мне добавили 40 доп тестовых групп - аутентификация перестала работать.

Тут пишут что нужно 120 групп.
https://support.microsoft.com/en-us/kb/327825
А ещё пишут что MaxTokenSize надо править на всех компьютерах, вовлеченных в процесс. То есть контроллер домена тоже.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004624
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczAlexeyKh24Мне добавили 40 доп тестовых групп - аутентификация перестала работать.

Тут пишут что нужно 120 групп.
https://support.microsoft.com/en-us/kb/327825
А ещё пишут что MaxTokenSize надо править на всех компьютерах, вовлеченных в процесс. То есть контроллер домена тоже.

MaxTokenSize настроен.
И да, странно, предупреждение не выдает про Header too long.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004627
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanraв spnego протоколе группы точно не принимают участие. Это только аутентификация.
Другое дело, если группы у таких пользователей сильно ограниченные, например, для этих групп не настроены доверенные сервера (или, по крайней мере, сервер приложений не является доверенным). А браузер передает токен только доверенным серверам. В этом случае результат будет именно таким, как на 1-й картинке

Это уже поинтереснее предположение. Не очень разбираюсь в настройке групп в AD, в понедельник видимо будем мучать админа.
Но если им нет явного доступа к этому ресурсу, или он недоверенный - то почему в klist появляется ключ для конкретного пользователя и конкретного сайта?
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004633
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С другой стороны, группы опять же влияют на размер хеша.
TokenSize = 1200 + 40d + 8s
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004720
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeyKh24MaxTokenSize настроен.
И да, странно, предупреждение не выдает про Header too long.

Выскажусь. Версия про MaxTokenSize же очень быстро проверяется. Если klist показывает выданный токен, то измерить его длину несложно.

А Header too long - это ж ругань от сервера, если он такой длинный токен получает. Браузер так ругаться не может.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004763
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeyKh24И я не знаю, как браузер получает хеш из kerberos ключа, все это инкапсулировано.

А это не просто base64? Вы не проверяли?
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004801
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мысль по дебагу. Может, через chrome://net-internals или Wireshark посмотреть, как браузер с Kerberos общается? Можно будет тогда узнать, что токен не повредился, нормально дошел.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004852
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelenaAlexeyKh24И я не знаю, как браузер получает хеш из kerberos ключа, все это инкапсулировано.

А это не просто base64? Вы не проверяли?

Я права насчет base64. Нашла вот такой текст:

авторConfigure the MaxFieldLength and the MaxRequestBytes registry keys on the IIS server with a value of 4/3 * T, where T is the user's token size, in bytes. HTTP encodes the Kerberos token using base64 encoding and therefore replaces every 3 bytes in the token with 4 base64 encoded bytes.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004864
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
How to enable Kerberos event logging https://support.microsoft.com/en-us/kb/262177
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39004890
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yelena, да, спасибо за направление.

Попробую на след неделе chrome://net-internals/#events, Wireshark/TCPMon, ну и параметр реестра LogLevel.
...
Рейтинг: 0 / 0
SPNEGO не авторизует пользователей с большим числом групп.
    #39023723
AlexeyKh24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем все волшебным образом заработало, когда сменили kdc ur.rt.ru на ks.rt.ru. Так что возможно проблема была именно в самом kdc Уральском. Так что моя совесть чиста :-)
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / SPNEGO не авторизует пользователей с большим числом групп.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]