![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Georg4 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Вот у меня модуль который логинится (допустим к БД) через обычную страницу JSP c JSF.
Как я могу сделать удержание сессии, тчобы пользователь один раз логинился, и до закрытия страницы и минут 10 после того как, повторного логина не нужно было бы. -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
Закрытие страницы ты отследить не сможешь. А вот время жизни сессии можно задавать через выставление session-timeout в web.xml.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Georg4 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Тоесть ты хочешь сказать, что если я в web.xml
создам запись типа: <session-config> <session-timeout>5</session-timeout> </session-config> То сессия будет держаться 5 минут и это всё что мне нужно сделать? А может кукисы лучше? -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
HttpSession - серверный объект и привязывается к конкретному клиенту (браузеру) контейнером автоматически. Или кукисами или url-rewritng. Так что руками работать с кукисами - дублировать функционал контейнера ) |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
To batigoal
Отследить закрытие страницы можно. Через javascript на событий window.onunload. А дальше можно отправить Ajax-запрос и сделать с сессией все что хочешь. Мне например надо удалить из определенного мэпа ссылку на сессию залогиненного юзера: так как юзер вышел, то и отслеживать его сессию нет смысла -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
batigoal, Закрытие страницы ты отследить не сможешь. Eto po4emu ? <body onbeforeunload="invokeAjaxExit()"> </body>
|
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
MisterCleric,
Tony Этот способ не дает гарантии. Браузер может быть выгружен аварийно и никакого запроса отправить не успеет. |
|||
|
||||
Georg4 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Ребяты!
Я уже начал думать про сессии. Делаю так: в faces-config.xml <managed-bean> <managed-bean-name>LoginSession</managed-bean-name> <managed-bean-class>session.LoginSession</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> web.xml: Теперь собственно пытаюсь написать код:
Я видимо буду вызывать его, класс этот по клику на сабмит при логине. Так вот.... Как нужно написать функицю, чтобы держать эту дурацкую сессию. Тоесть если я снова перенаправлюсь на страницу логина, чтобы уже не нужно его было набирать. -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
On srabotaet na 100%. Ne srabotaet esli sobitie onunload="" togda da(ne vsegda otlavlivaet). No dlja polnogo kontrolja mozhno eshjo sessionListener povesit'. Добавлено через 1 минуту и 52 секунды Georg4, Esli u tebja JSF nafig tebe extends HttpServlet? |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
Georg4
Работа с сессией полностью возложена на контейнер, все происходит автоматически. Добавлено через 2 минуты и 39 секунд Tony Не будет скрипт обрабатываться и что-то там куда-то слать если браузер фатально вываливается по ошибке, а юзеров, у которых браузер падает каждые 10 минут (потому что на него понаставлено куча левых плагинов) -- миллион. |
|||
|
||||
Georg4 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Не совсем тебя понял. Ты хочешь сказать, что отлавливать Ид сессии не нужно и только определил его в ХМЛ и оно само работает? Добавлено через 1 минуту и 38 секунд
Как это в JSF сделать? Добавлено через 11 минут и 11 секунд Просто когда у меня сессия в ХМЛ файле вот так определена и я залогиниваюсь, то в строке браузера появляется session ID, и когда я открываю страницу новую и просто вставляю эту строку, то появляется страница логина с последним именем в текстовом поле "Логин" и пустым полем "Пароль". Как сделать, так чтобы она автоматом в случае правильного пароля и логина отправляла сразу на следущую за этим страницу? Добавлено через 14 минут и 9 секунд Типа галочки запомнить пароль и автовхода на сайт -------------------- Никто и никогда не должен решать одну проблему дважды |
||||
|
|||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
||||
|
||||
Georg4 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Ну я уже увидел, что остается имя в логине.
Но вот вопрос с паролем! Как его сохранить. Как я уже писал: Типа галочки запомнить пароль и автовхода на сайт -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Nu tak ja i govorju 4to dlja ponogo kontrolja nado povesit' sessionListener. Добавлено через 2 минуты и 17 секунд Georg4, Как это в JSF сделать? Napisal? Ili primer prislat' ? |
|||
|
||||
Georg4 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
А вот ещё что!
У меня есть индекс пейдж, который форвардит на страницу логина <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> <html> <head><title>JSF Login </title></head> <body> <jsp:forward page="login.faces"/> </body> </html> </jsp:root> Так вот! Если залогиниться, и снова выйти на индекс, то он будет форвардить на "login.faces" без ID сессии. Тоесть на пустую форму. Может можно туда-как топередать строку с ID сесссии? Добавлено через 4 минуты и 36 секунд
Давай, чтоли, пример... -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |