2017-01-31 5 views
1

Я только что внедрил Spring Kerberos, и все работает в Chrome и FF, но в IE я получаю ошибку HTTP 400 Bad Request. Нет никакого упоминания о том, что заголовок длинный. Я уже увеличил размер Tomcat Header до 65k.HTTP 400 в IE с Spring Kerberos

Возможно, связано с тем, что аутентификация Kerberos работает для некоторых людей и не для других (некоторые из них получают только билет, но не аутентифицированы, другие - полностью аутентифицированы). Есть ли какая-либо другая конфигурация клиента, которая входит в игру при использовании SPNEGO/Kerberos, чем в списке Spring Kerberos documentation

Редактирование: Для полноты: я исправил его, добавив параметр maxHttpHeaderSize в свой соединитель в файле server.xml. Раньше у меня был пакетSize вместо maxHttpHeaderSize.

+0

IE возвращается к отправке токена NTLM, когда токен Kerberos для службы не может быть получен. Вы проверили, действительно ли маркер Kerberos отправляется, когда вы получаете ответ HTTP 400 с IE? –

+0

@BernhardThalmayr: Одна точка примечания: IE возвращается к базовой аутентификации, когда Kerberos терпит неудачу. Вот почему вы видите всплывающее окно диалога учетных данных, запрашивающее имя пользователя/пароль при сбое Kerberos. NTLM этого не делает, это протокол SSO, который не будет показывать эту ячейку. –

+0

@ T-Heron всплывающее окно не должно появляться, но с IE, но IE все еще участвует в SPNEGO, отправляющем токен NTLM. В SPNEGO в настоящее время нет способа принудительного применения определенного типа токена. –

ответ

1

Проблема заключалась в том, что заголовок был слишком большим для Tomcat, поэтому я увеличил параметр httpHeaderSize одного из разъемов. До этого у меня был неправильный параметр (я использовал packageSize вместо httpHeaderSize). Спасибо за все комментарии, тем не менее.