|
|
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Добрый день . Есть страница , /index.jsp с нее идут вызовы через jquery на rest api / если пользовательская сессия протухла,и он не обновил страницу - то при попытке вызова rest api из jquery - хорошо бы его каким то образом выбросить на страницу login если ли какой-то способ ? Сейчас я могу это понять если буду анализировать http статсус отличный от 200 ?! можно как то сделать это централизовано и единообразно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 13:49 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1через jquery на rest api / не понял.... в сервлет вызовы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 13:52 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1, кука сессии с именем JSESSIONID. Выведи лог конкретный что и как там у тебя с этой кукой из сервлета\фильтра\Valve ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 13:56 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1, Это собственно к JavaScript части вопрос. Там (jQuery) можно на ajax глобальный хэндлер навесить, в котором уже реагировать на определенные статус коды или заголовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 13:58 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1, я делаю так 1. в header ajax запроса сую инфу про ajax 2. в фильтре проверяю header: - если нет инфы про ajax, то редерект на index.jsp - если есть, то ответ с кодом 'про тухлую сессию' 3. если в аjax 'про тухлую сессию', то диалоговое окно 'про тухлую сессию' и по кнопке 'OK' document.location=/index.jsp типа так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:09 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAtum1, Это собственно к JavaScript части вопрос. Там (jQuery) можно на ajax глобальный хэндлер навесить, в котором уже реагировать на определенные статус коды или заголовки. ну либо решение не совсем через jquery - а через meta http-equiv="refresh" Код: html 1. 2. 3. 4. 5. 6. просто сейчас такая картинка - если сессия протухла а мы на странице то при запросе ( нажатие к примеру на ноду дерева - ) мы через js - делаем вызов rest api - а в ответ нам прилетает redirect 302 на страницу login и след запросам сама страницу логин в обработчик js - а сама страница остается как есть ... Да можно делать через js - но не хочется в каждом вызове вставлять проверку ... Хотя наверное средствами сервера по таймауту обновить клиента (выбросить его на страницу логина нельзя ....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:09 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
am_sasaAtum1, я делаю так 1. в header ajax запроса сую инфу про ajax 2. в фильтре проверяю header: - если нет инфы про ajax, то редерект на index.jsp - если есть, то ответ с кодом 'про тухлую сессию' 3. если в аjax 'про тухлую сессию', то диалоговое окно 'про тухлую сессию' и по кнопке 'OK' document.location=/index.jsp типа так можно пример кода ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:10 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1Да можно делать через js - но не хочется в каждом вызове вставлять проверку ... В jQuery есть глобальные хуки, чтобы не вешать на каждый вызов. Я же написал это выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:16 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1Добрый день . Есть страница , /index.jsp с нее идут вызовы через jquery на rest api / если пользовательская сессия протухла,и он не обновил страницу - то при попытке вызова rest api из jquery - хорошо бы его каким то образом выбросить на страницу login По идее если сессия "протухла", то автоматом идет редирект на страницу входа... Проблема в том, что вам самим надо "обработать" редирект, если работаете ч/з Ajax. Т.е. на callback'е обработчика проверяйте заголовок. Если, например, text/json, то это данные, если что-то другое, то парсите как html страницу и дальше по ситуации. Atum1 если ли какой-то способ ? Сейчас я могу это понять если буду анализировать http статсус отличный от 200 ?! можно как то сделать это централизовано и единообразно? В том, то и дело, что скорее всего статус будет 200, отличатся будут заголовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:21 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
am_sasa1. в header ajax запроса сую инфу про ajax AFAIK в хидере запроса автоматом инфа есть. Нужно на приёмнике-сервере проверить заголовок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:22 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, ну да. +1 Всё у него в руках на стороне сервера. Может и продлить сессию, и знает кто и зачем вызвал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:24 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1, собрал по крохам 1. Код: javascript 1. 2. 3. это не jquery 2. Код: java 1. 2. это выжимка 3. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. это не jquery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:27 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
с другой стороны, нафига весь этот код геморрой. Сеесия должна автоматом продляться после любого вызова. Так? Значит надо при любом вызове по ajax её продлить парой строк на сервере. Раз сервер не видит эти вызовы. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:39 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
am_sasa, тогда п.п. не нужен (уже есть метка ajax), а п.п. 2-3 зачем кого то заставлять заново авторизоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:41 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Petro123Сеесия должна автоматом продляться после любого вызова. Так? timeout сессии он не на ровном месте появился. Иначе на сервере список сессий будет только расти и его можно вообще одной левой зафлудить этими сессиями. С другой стороны какой-нибудь heartbeat с клиента - вполне здравая мысль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:42 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, так в томкате получаем эту куку Код: java 1. 2. 3. 4. 5. 6. 7. 2. В этом же запросе видим AJAX 3. Тут же есть объект сессии .... IMHO нет тут никакого волшебства. Что я кодом выше буду продлять, что сам ещё раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:47 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИначе на сервере список сессий будет только расти Запрос по JSP продляет сессию? Если точно так продлить на запрос на сервлет (AJAX на сервлет?) то ничего расти не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:52 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
единственно реализация привязана к контейнеру. На sql_ru кука сессионная похоже ASP.NET_SessionId=hnf1c2lqzogwohwet5uuazbg; path=/; domain=.www.sql.ru; HttpOnly на томкате другое имя - Globals.SESSION_COOKIE_NAME и т.д. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 14:59 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123Сеесия должна автоматом продляться после любого вызова. Так? timeout сессии он не на ровном месте появился. Иначе на сервере список сессий будет только расти и его можно вообще одной левой зафлудить этими сессиями. С другой стороны какой-нибудь heartbeat с клиента - вполне здравая мысль. ну как вариант - пулинг с клиента раз в 15 минут - дернуть что то по ajax ? чтобы сессия продлилась . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:03 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1, в чём вопрос тогда? - если просто перебросить, то при поступлении запроса, то: 1. Проверить сессию 2. если закончена, то дать ответ и клиент направит. или Код: java 1. ---------- Если надо продлять, то другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:30 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1дернуть что то по ajax ? чтобы сессия продлилась ответь на вопрос. - дергать F5 у JSP сессия продляется? - дергать сервлет по AJAX сессия продляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:32 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Petro123 Код: java 1. Это нужно делать в HttpSessionListener ? когда сессия закочилась делать что то ? но если у нас api rest - то это только js на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:42 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1когда сессия закочилась делать что то ? но если у нас api rest - то это только js на клиенте я вторым посто спросил - что такое у тебя api rest. Я на своём сайте вызываю по AJAX сервлет если только JS значит томкат и БД не вызываем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 16:00 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1когда сессия закочилась делать ответь на вопрос как она у тебя заканчивается )))) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 16:02 |
|
||
|
Spring rest api redirect if session timeout
|
|||
|---|---|---|---|
|
#18+
Atum1Это нужно делать в HttpSessionListener ? в моём проектпо SSO при запросе GET странички JSP с защитой, я это делаю в фильтре (перед JSP). Но можно делать где угодно с Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 16:04 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39125008&tid=2124559]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 429ms |

| 0 / 0 |
