Я столкнулся с довольно неожиданной проблемой при использовании авторизации Tomcat и CAS. Я просто не могу выйти из Firefox. Я перенаправлен на страницу выхода из системы, но как только я повторно ввожу URL-адрес приложения в адресной строке, он открывается, как будто я вошел в систему (и фактически вошел в систему!).
Сначала я предпринял заметное количество попыток что-то исправить в конфигурации tomcat, затем я прочитал логи, но на самом деле мне ничего не помогло, пока не пришло в голову проверить поведение выхода из системы в других браузерах.
В других браузерах все работает так, как ожидалось.
А я просто застрял и был бы признателен, если бы мне дали подсказку.
Полагаю, [этот вопрос] [1] в некотором роде связан с моим, но, кстати, отключение кэширования на странице, на которой я должен быть зарегистрирован, также не помогает.
UPD: Некоторая отладочная информация. Firefox версии 7.0.1, к сожалению, это не публичное приложение, и я не могу предоставить URL. Похоже, что output.sendRedirect - это то, чего не хватает в Firefox. Вот минимальный код, который работает в любом браузере, кроме Firefox.
session.invalidate();
response.sendRedirect("https://app:8552/cas/logout");
HEADERS
1-й ЗАПРОС - который делает недействительным сеанс и перенаправляет на страницу выхода из CAS
ЗАПРОСИТЕ ЗАГОЛОВКИ
- Хост: dev.service.net
- Пользователь-агент: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10.6; rv: 7.0.1) Gecko / 20100101 Firefox / 7.0.1
- Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, / ; q = 0,8
- Accept-Language: en-us, en; q = 0,5
- Accept-Encoding: gzip, deflate
- Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7
- Соединение: keep-alive
- Рефери: http://dev.service.net/
- Cookie: JSESSIONID = 53B9469EFE9F130E9694F7406BFAB755
ОТВЕТНЫЕ ГОЛОВКИ
- Сервер: nginx / 1.0.4
- Дата: четверг, 20 октября 2011 г. 09:20:45 GMT
- Тип содержимого: текст / html
- Длина содержимого: 184
- Расположение: https://dev:8552/cas/logout
2-й запрос - сама страница выхода из системы
ЗАПРОСИТЕ ЗАГОЛОВКИ
- Хост: dev: 8552
- Пользователь-агент: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10.6; rv: 7.0.1) Gecko / 20100101 Firefox / 7.0.1
- Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, / ; q = 0,8
- Accept-Language: en-us, en; q = 0,5
- Accept-Encoding: gzip, deflate
- Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7
- Соединение: keep-alive
- Рефере: http://dev.service.net/
- Cookie: JSESSIONID = 8A68F008825A0F0D14C6BF803E1332CF; GUEST_LANGUAGE_ID = en_US; COOKIE_SUPPORT = истина
ГОЛОВКИ ОТВЕТА
- Сервер: Apache-Coyote / 1.1
- Прагма: без кэша
- Истекает: чт, 1 января 1970 г. 00:00:00 по Гринвичу
- Cache-Control: без кеша, без хранилища
- Тип содержимого: текст / html; кодировка = UTF-8
- Content-Language: en-US
- Длина содержимого: 1226
- Дата: четверг, 20 октября 2011 г., 15:53:57 GMT
3-й ЗАПРОС - мы возвращаемся на страницу, которая должна
перенаправить нас на страницу входа, но это не так.
ЗАПРОСИТЕ ЗАГОЛОВКИ
- Хост: dev.service.net
- Пользователь-агент: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10.6; rv: 7.0.1) Gecko / 20100101 Firefox / 7.0.1
- Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, / ; q = 0,8
- Accept-Language: en-us, en; q = 0,5
- Accept-Encoding: gzip, deflate
- Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7
- Соединение: keep-alive
- Cookie: JSESSIONID = 53B9469EFE9F130E9694F7406BFAB755
ГОЛОВКИ ОТВЕТА
- Сервер: Apache-Coyote / 1.1
- Прагма: без кеша
- Истекает: чт, 1 января 1970 г. 00:00:00 по Гринвичу
- Cache-Control: без кеша, без хранилища
- Content-Type: text / html; charset = UTF-8
- Content-Language: en-US
- Длина содержимого: 1226
- Дата: четверг, 20 октября 2011 г. 13:30:51 GMT