| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > j_security_check и HTTP Status 404 |
| Автор: rimidal 21.7.2008, 13:01 |
| Серевер приложений - GlassFish v2. Изучаю примеры из Sun-го туториала. hello1_formauth - собственно в этом примере я столкнулся с этой ошибкой (кроме этого примера такая же ошибка наблюдается и в админке самого GlassFish-а). Ошибка возникает после следующих действий: открываем страничку авторизации (например http://localhost:8080/hello1_formauth/logon.jsp) , вводим логин и пароль после чего успешно переходим на "защищенную" страничку (например http://localhost:8080/hello1_formauth/index.jsp), теперь если в браузере нажать кнопку назад и попытаться еще раз пройти авторизацию то возникает ошибка 404. Возможно ли сделать так чтобы повторная авторизация была возможна (чтоб сервер сам завершал предыдущую сессию и открывал новую)? |
| Автор: jokodzuma 21.7.2008, 13:24 |
| сервер сам завершит сессию через тридцать минут (по умолчанию) в случае бездействия клиента. клиент сможет завершить сессию, послав серверу запрос на завершение, прежде чем захочет начать новую. |
| Автор: rimidal 21.7.2008, 13:43 | ||||
Это все понятно... Если таймаут истек то таких проблем не возникает. Можно например перехватывать все обращения к j_security_check и смотреть факт авторизации и пытаться сделать переадресацию или что-то вроде. Меня интересует почему сам j_security_check (это наверное какой-то стандартный сервлет) не доступен после авторизации сесcии? Вот что я пытался сделать: часть кода фильтра перехватывающего обращения к j_security_check
В результате все равно имеем Error 404. |
| Автор: jokodzuma 21.7.2008, 14:31 | ||||||
1. Контекст j_security_check нельзя перехватывать согласно спецификации сервлетов, по крайней мере 2.3. Что за сервер, какая версия сервлетов? 2. Что в строке отображается в строке адреса после нажатия кнопки "назад"? Какой браузер, какой версии? |
| Автор: rimidal 21.7.2008, 14:55 | ||||
| Сервер: Sun Java System Application Server 9.1_02 (build b04-fcs) Строке адреса после нажатия кнопки "назад":https://localhost:8181/hello1_formauth/logon.jsp Версия сервлетов (если я не ошибаюсь): 2.4 На всякий случай привожу xml файлы: web.xml
sun-web.xml
|
| Автор: jokodzuma 21.7.2008, 15:34 |
| а еще /logon.jsp покажите, пожалуйста |
| Автор: rimidal 21.7.2008, 15:44 | ||
logon,jsp
Тестировал в браузерах: FireFox 3.0, Internet Explorer 6.0 |
| Автор: jokodzuma 21.7.2008, 17:06 | ||
да. это стандартный контекст в пункте J2EE.12.5.3.1 Login Form Notes спецификации 2.3 об этом сказано. этот контекст нельзя перехватывать и "слушать". покажите еще 1. исходный код страницы, на которую попадаете после нажатия "назад" 2. "подробное" (где-то в настройках ИЕ включается) сообщение об ошибке Добавлено через 9 минут и 9 секунд кстати, обычно если пользователь хочет завершить сессию, то сознательно нажимает кнопку "логаут", а не авторизуется в рамках текущей сессии под новым логином. я, например, другого не встречал ни разу |
| Автор: rimidal 21.7.2008, 18:07 | ||||||||||
это /logon.jsp
это опция включена. Вот все что сервер отвечает:
Смотрел по логам самого сервера - все пусто. Пытался отловить эту ошибку, через error page по эксепшену java.lang.Throwable - тоже пусто. Только удалось перехватить код возврата 404 и все. Там пытался выводить возникшее исключение - пусто.
мне удается перехватывать фильтром обращение к URL http://localhost:8080/hello1_formauth/j_security_check
Я полностью с этим согласен, но хочу как-то обрабатывать и описанный выше случай. Конечно он маловероятный, но возможный и может ввести пользователя в смятение. Как я писал выше такой баг наблюдается и в "админке" (http://localhost:4848/) самого GlassFish-а. Мелочь, а неприятно. |
| Автор: jokodzuma 21.7.2008, 18:31 |
| попробуйте http://forums.sun.com/thread.jspa?threadID=353797&messageID=1954596 (или http://objectmix.com/weblogic/560106-form-based-authentication-problem-weblogic.html) как частный случай http://www.google.ru/search?aq=f&complete=1&hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=Bic&q=%2Bj_security_check+%2Bback&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr= |