|
|
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста выйти из ситуации. Есть jsf-приложение. При работе оно сохраняет в браузере cookie с именем JSESSIONID. У этой куки срок действия - до конца сессии. Но браузер на целевой железке работает так, что не закрывается при завершении своего сеанса работы. т.е. процесс iexplore не завершается. Мне нужно каким-то образом удалить эту куку. Из javascript не получается - document.cookies возвращает пустоту. Я так понимаю, эта кука передается в заголовке http-запроса. Как мне избавиться от нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 16:55:13 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
А в чем глубинный смысл удалять именно куку, если можно просто заэкспарить сессию на сервере? HttpSession.invalidate() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 16:59:15 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
В таком случае jsessionid перегенерируется. Сейчас объясню ситуацию, может, вы мне подскажете, где я накосячил. Приложение вызывается GET-запросом, в параметре которого передается уникальный идентификатор. Этот идентификатор ловится в ServiceFilter (implements Filter). Дальше приложение работает по POST. В конфиге web.xml время жизни сессии установлено как <session-timeout>5</session-timeout>. Если сессия устаревает, то сервер при повторном GET-запросе выполняет редирект с HTTP-кодом 302 и ServiceFilter не отрабатывает, соответственно не извлекается тот самый уникальный идентификатор. Процесс браузера мы закрыть не можем - железка не позволяет. Кроме того, пользователь по аппаратной кнопке может может вернуться в основное приложение(при этом процесс браузера опять же не завершится) и я не могу отловить этот момент для HttpSession.invalidate(). А показывать следующему пользователю данные сессии предыдущего очень нехорошо. Не могу придумать, как выйти из данной ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 17:14:00 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
SMAKSx86 Если сессия устаревает, то сервер при повторном GET-запросе выполняет редирект с HTTP-кодом 302 и ServiceFilter не отрабатывает, соответственно не извлекается тот самый уникальный идентификатор. А как должно быть? SMAKSx86 Кроме того, пользователь по аппаратной кнопке может может вернуться в основное приложение Аппаратной кнопке? Это что? SMAKSx86А показывать следующему пользователю данные сессии предыдущего очень нехорошо. Не могу придумать, как выйти из данной ситуации. И каким образом пользователь должен получить данные предыдущей сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 17:18:46 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
В общем, целевое устройство - это терминал самообслуживания. На устройстве работает приложение, которое может вызвать браузер и передать ему управление. Проблема, в общем, в том, что вызов производится GET-запросом. Из него я выбираю параметр(идентификатор) делается это в ServiceFilter(наследнике javax.servlet.Filter). Проблема в том, что в случае устаревания сессии, этот ServiceFilter не срабатывает и я не могу получить этот параметр. А без него работу нельзя продолжить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 17:29:20 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
Мда, почитал свой бардак. В общем, надо с этой реализацией Filter разбираться, точнее, с тем, как и, самое главное, почему он так работает. А то я совсем чего-то не того думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 21:22:23 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
Возможно, тебя выручит реализация, на основании которой работает механизм RememberMe в Spring Security (дабы весь фреймворк не подтягивать). Суть в двух методах (вырезал как есть): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. То есть самому ставить свою куку клиенту и даже после таймаута есть возможность поднять данные пользователя. Мысль, конечно, немного примитивная, так как не решает полностью вопрос защищенности и аутентикации, но направление может быть то. (Класс org.springframework.security.web.authentication.RememberMeServices). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 22:36:28 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, случайно не подскажите по Spring Security? В принципе, похожая ситуация. Есть приложение spring + vaadin в Spring Security сделана аутентификация basic. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Когда пользователь кликает по ссылке на это приложение появляется basic окно ввода логина пароля, входит. по кнопке выхода из приложения(war spring+vaadin) пользователь попадает на страницу выбора приложений(мультивар приложение) в вадине делаю Код: java 1. 2. 3. 4. 5. Если опять войти по ссылке в приложение, то окно авторизации не появляется и пользователь входит под прежним логином. Как сбросить в браузере basic аутентификацию если это вобще можно, чтобы пользователь не начинал новый сеанс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2013, 08:25:49 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
ferc, Добрый день! Возникла точно такая же проблема. Как вы её решили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 12:19:39 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
victorL, можно решить путем перехода на form аутентификацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:45:25 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
ferc, В том то и загвоздка, он переходит, а если набрать в адресной строке. адрес по которому только залогиненные пользователи ходят, он открывается. А должен на форму аутентификации поподать. Делаю вот так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:52:43 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
victorL, Уже какой день борюсь с этим, весь инет облазил. Может чем поможете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 14:05:57 |
|
||
|
JSF, GlassFish 3.1.2.2 - как вручную удалить cookie JSESSIONID?
|
|||
|---|---|---|---|
|
#18+
victorL, за адресами смотрит спринг секьюрити Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 16:30:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38356551&tid=2128867]: |
0ms |
get settings: |
19ms |
get forum list: |
24ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
64ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
111ms |
get tp. blocked users: |
3ms |
| others: | 358ms |
| total: | 624ms |

| 0 / 0 |
