powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring rest api redirect if session timeout
66 сообщений из 66, показаны все 3 страниц
Spring rest api redirect if session timeout
    #39124906
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день .

Есть страница , /index.jsp

с нее идут вызовы через jquery на rest api /

если пользовательская сессия протухла,и он не обновил страницу - то при попытке вызова rest api из jquery - хорошо бы его каким то образом выбросить на страницу login

если ли какой-то способ ?

Сейчас я могу это понять если буду анализировать http статсус отличный от 200 ?!

можно как то сделать это централизовано и единообразно?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124909
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1через jquery на rest api /
не понял.... в сервлет вызовы?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124913
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
кука сессии с именем JSESSIONID.
Выведи лог конкретный что и как там у тебя с этой кукой из сервлета\фильтра\Valve
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124918
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Это собственно к JavaScript части вопрос. Там (jQuery) можно на ajax глобальный хэндлер навесить, в котором уже реагировать на определенные статус коды или заголовки.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124934
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1,

я делаю так
1. в header ajax запроса сую инфу про ajax
2. в фильтре проверяю header:
- если нет инфы про ajax, то редерект на index.jsp
- если есть, то ответ с кодом 'про тухлую сессию'
3. если в аjax 'про тухлую сессию', то диалоговое окно 'про тухлую сессию' и
по кнопке 'OK' document.location=/index.jsp

типа так
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124936
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczAtum1,

Это собственно к JavaScript части вопрос. Там (jQuery) можно на ajax глобальный хэндлер навесить, в котором уже реагировать на определенные статус коды или заголовки.

ну либо решение не совсем через jquery - а через meta http-equiv="refresh"

Код: html
1.
2.
3.
4.
5.
6.
<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <%--автообновление страницы после 30 минут бездействия - редирект на страницу login --%>
        <meta http-equiv="refresh" content="108000" />



просто сейчас такая картинка - если сессия протухла а мы на странице то при запросе ( нажатие к примеру на ноду дерева - )
мы через js - делаем вызов rest api - а в ответ нам прилетает redirect 302 на страницу login и след запросам сама страницу логин в обработчик js - а сама страница остается как есть ...


Да можно делать через js - но не хочется в каждом вызове вставлять проверку ...


Хотя наверное средствами сервера по таймауту обновить клиента (выбросить его на страницу логина нельзя ....)
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124940
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasaAtum1,

я делаю так
1. в header ajax запроса сую инфу про ajax
2. в фильтре проверяю header:
- если нет инфы про ajax, то редерект на index.jsp
- если есть, то ответ с кодом 'про тухлую сессию'
3. если в аjax 'про тухлую сессию', то диалоговое окно 'про тухлую сессию' и
по кнопке 'OK' document.location=/index.jsp

типа так

можно пример кода ?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124949
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Да можно делать через js - но не хочется в каждом вызове вставлять проверку ...
В jQuery есть глобальные хуки, чтобы не вешать на каждый вызов. Я же написал это выше.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124956
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Добрый день .

Есть страница , /index.jsp

с нее идут вызовы через jquery на rest api /

если пользовательская сессия протухла,и он не обновил страницу - то при попытке вызова rest api из jquery - хорошо бы его каким то образом выбросить на страницу login


По идее если сессия "протухла", то автоматом идет редирект на страницу входа...
Проблема в том, что вам самим надо "обработать" редирект, если работаете ч/з Ajax.
Т.е. на callback'е обработчика проверяйте заголовок.
Если, например, text/json, то это данные, если что-то другое, то парсите как html страницу и дальше по ситуации.


Atum1 если ли какой-то способ ?

Сейчас я могу это понять если буду анализировать http статсус отличный от 200 ?!

можно как то сделать это централизовано и единообразно?

В том, то и дело, что скорее всего статус будет 200, отличатся будут заголовки.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124961
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa1. в header ajax запроса сую инфу про ajax
AFAIK в хидере запроса автоматом инфа есть. Нужно на приёмнике-сервере проверить заголовок.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124962
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
ну да. +1
Всё у него в руках на стороне сервера. Может и продлить сессию, и знает кто и зачем вызвал.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124966
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1,
собрал по крохам
1.
Код: javascript
1.
2.
3.
webix.attachEvent("onBeforeAjax", function(mode,url,data,request,headers){
	headers['X-Requested-With']='XMLHttpRequest'
})

это не jquery
2.
Код: java
1.
2.
String ajaxHeader =request.getHeader("X-Requested-With");
if(ajaxHeader.equals("XMLHttpRequest"))response.setStatus(HttpServletResponse.SC_FORBIDDEN);

это выжимка
3.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
webix.attachEvent("onAjaxError", function(xhr){
	webix.alert({
		type :'alert-error', width:360,height:180,
		title: 'Время сессии истекло',
		ok	 :'Авторизоваться',
		text :'Необходимо заново авторизоваться',
		callback:function(){location.reload(true)}
	})
})

это не jquery
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124973
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с другой стороны, нафига весь этот код геморрой.
Сеесия должна автоматом продляться после любого вызова. Так?
Значит надо при любом вызове по ajax её продлить парой строк на сервере. Раз сервер не видит эти вызовы.
Всё.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124977
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa,
тогда п.п. не нужен (уже есть метка ajax), а п.п. 2-3 зачем кого то заставлять заново авторизоваться?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124979
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Сеесия должна автоматом продляться после любого вызова. Так?

timeout сессии он не на ровном месте появился. Иначе на сервере список сессий будет только расти и его можно вообще одной левой зафлудить этими сессиями.
С другой стороны какой-нибудь heartbeat с клиента - вполне здравая мысль.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124984
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
так в томкате получаем эту куку
Код: java
1.
2.
3.
4.
5.
6.
7.
Cookie getJsessionCookie(Cookie[] cc) {
    for (int i = 0; cc != null && i < cc.length; i++) {
      if(Globals.SESSION_COOKIE_NAME.equals(cc[i].getName()))
        return cc[i];
    }
    return null;
  }


2.
В этом же запросе видим AJAX
3. Тут же есть объект сессии
....
IMHO
нет тут никакого волшебства.
Что я кодом выше буду продлять, что сам ещё раньше.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39124991
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИначе на сервере список сессий будет только расти
Запрос по JSP продляет сессию?
Если точно так продлить на запрос на сервлет (AJAX на сервлет?) то ничего расти не будет
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125008
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
единственно реализация привязана к контейнеру.
На sql_ru кука сессионная похоже ASP.NET_SessionId=hnf1c2lqzogwohwet5uuazbg; path=/; domain=.www.sql.ru; HttpOnly
на томкате другое имя - Globals.SESSION_COOKIE_NAME
и т.д.
))
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125013
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123Сеесия должна автоматом продляться после любого вызова. Так?

timeout сессии он не на ровном месте появился. Иначе на сервере список сессий будет только расти и его можно вообще одной левой зафлудить этими сессиями.
С другой стороны какой-нибудь heartbeat с клиента - вполне здравая мысль.

ну как вариант - пулинг с клиента раз в 15 минут - дернуть что то по ajax ? чтобы сессия продлилась .
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125058
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
в чём вопрос тогда?
- если просто перебросить, то при поступлении запроса, то:
1. Проверить сессию
2. если закончена, то дать ответ и клиент направит.
или
Код: java
1.
response.sendRedirect(URL_);


----------
Если надо продлять, то другой вопрос.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125060
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1дернуть что то по ajax ? чтобы сессия продлилась
ответь на вопрос.
- дергать F5 у JSP сессия продляется?
- дергать сервлет по AJAX сессия продляется?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125077
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
Код: java
1.
response.sendRedirect(URL_);




Это нужно делать в HttpSessionListener ?

когда сессия закочилась делать что то ? но если у нас api rest - то это только js на клиенте.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125101
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1когда сессия закочилась делать что то ? но если у нас api rest - то это только js на клиенте
я вторым посто спросил - что такое у тебя api rest.
Я на своём сайте вызываю по AJAX сервлет
если только JS значит томкат и БД не вызываем?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125102
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1когда сессия закочилась делать
ответь на вопрос как она у тебя заканчивается )))) LOL
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125105
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Это нужно делать в HttpSessionListener ?
в моём проектпо SSO при запросе GET странички JSP с защитой, я это делаю в фильтре (перед JSP).
Но можно делать где угодно с
Код: java
1.
(HttpServletRequest request, HttpServletResponse response)
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125142
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Atum1когда сессия закочилась делать что то ? но если у нас api rest - то это только js на клиенте
я вторым посто спросил - что такое у тебя api rest.
Я на своём сайте вызываю по AJAX сервлет
если только JS значит томкат и БД не вызываем?


вот простой пример :

Код: java
1.
2.
3.
4.
5.
6.
7.
@RestController
public class CsrfController {

    @RequestMapping(value = "/csrf", method = RequestMethod.GET)
    public CsrfToken csrf(CsrfToken token ) {
        return token;
    }



вернет json токен - для последующего использования в post запросах для rest api


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$(".box").click(function(e) {

        $.get("/csrf", function(data) {
            _csrf = data.token;
           ....

        });
    });


но если сессия протухла 0 то по ссылке "/csrf" - будет редирект на страницу логин ..но пользователь этого не увидит .

просто ссылка работать не будет ...

самый простой пример:)
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125144
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Atum1когда сессия закочилась делать
ответь на вопрос как она у тебя заканчивается )))) LOL

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	 version="3.1">
    <session-config>
        <session-timeout>
          30
        </session-timeout>
    </session-config>



я авторизовался - заполнил форму с данными у ушел на обед чай пить ...

прошло 30 минут и сессия протухла )

пришел я с обеда -нажал на кнопку отправить и ничего не произошло ...
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125148
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
отлично.
- почему не поставить сессию 8 часов т.к. это корпоратив а не сайт-визитка
- /csrf это что? Поставь фильтр на него
- способ авторизации? Томкат?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125149
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- почему не поставить сессию 8 часов т.к. это корпоратив а не сайт-визитка

Только собрался тоже самое написать.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125190
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
единообразно:
1) параметр
2) перехват в веб сервере. Что в апаче, что в томкате.
Если перехват, то
responseRedirect даст на клиента картинку:
со статусом 302 на Location: куды угодно
и клиент туда перейдёт без всякой задержки
.....
Как то так.
Удачи!
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125203
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
я реализовал проблему тс с помощью. .....
ты уже смеёшься....
ws. на сервере ловится конец сессии и на клиента шлется команда типа перехода куда надо.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125212
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
и как всегда, пример-демка по сабжу с ws такая большая, что ты его никогда не приводил).
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125219
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
этот кусочек я приведу счас:)
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125262
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ловим конец сессии на сервере и отправляем на клиента
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
package Filter;

import com.Singleton;
import java.util.Collection;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.java_websocket.WebSocket;

public class ServletSessionListener implements HttpSessionListener {


    public static WebSocket webSocket;

    @Override
    public void sessionCreated(HttpSessionEvent se) {

        System.out.println("\nсессия создана " + se.getSession().getId() + se.getSession().isNew());
        System.out.println("число сессий ws " + Singleton.session_list.size());
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("\n================ sessionDestroyed ======================");

//определяем для какой сессии/какому клиенту надо отправить
        Collection<WebSocket> conn = Singleton.getCon();
        synchronized (conn) {
            for (WebSocket c : conn) {
                if (c.getSession().equals(se.getSession().getId())) {
                    System.out.println("сессия закрыта " + c.getRemoteSocketAddress());

                    c.send("xxx|/mo/page00.jsp"); //xxx - команда(имя функции на js)  /mo/page00.jsp - то куда перейти(страница ввода логина/пароля
                    c.close(4000);   //задаём код закрытия 
                } else {
                    System.out.println("сессия открытая " + c.getRemoteSocketAddress());
                }
            }
        }
        Singleton.session_list.remove(se.getSession().getId());
        System.out.println("список сессий " + Singleton.session_list.size());
    }

}



команда/функция на js
Код: javascript
1.
2.
3.
function xxx(p) {
        location.href = p;
    }


"обработчик" ws на клиенте (браузер)
Код: javascript
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
<script>
    var con;
    var rg = /^([a-z_0-9.]{1,})\|([\s\S]*)/;
    $(document).ready(function () {
        con = new WebSocket("wss://<%=Singleton.getServerWSS() + ":" + Singleton.getPortWSS()%>");
        con.binaryType = "arraybuffer";
        con.onopen = function (e) {
//"авторизация"/"привязка" ws к сессии
            con.send('auth|<%=request.getSession().getAttribute("token")%>~<%= session.getId()%>');
        };
        con.onmessage = function (response) {
            if (typeof (response.data) === 'string') {
                var r = rg.exec(response.data);
                try {
//"рефлексия"   - 2 варианта
                    if (r[1].includes('.')) {
                        var d = r[1].split('.');
                        window[d[0]][d[1]](r[2]);
                    } else {
                        window[r[1]](r[2]);
                    }
                } catch (er) {
                    console.log('ошибка ' + er.stack);
                    console.log('вызов ' + r[1]);
                    console.trace();

                }
            } else {
// для приёма бинарных данных с сервера - заготовка
//                var uInt8Array = new Uint8Array(response.data); 
//                var arrayBuffer = response.data;
//                var bytes = new Uint8Array(arrayBuffer);
//                console.log(bytes);

            }
        };
        con.onclose = function (event) {
            if (event.wasClean) {
                console.log('Соединение закрыто чисто');
            } else {
                console.log('закрытие');
            }
            console.log('Код: ' + event.code + ' причина: ' + event.reason);
        };
        con.onerror = function (error) {
            console.log("Ошибка wss " + error.message);
        };
    });

...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125274
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
"обработчик" ws на клиенте (браузер)" поражает)).
Это вместо того чтобы дать с сервера команду XXX.Redirect?
Тогда по стандарту HTTP по коду перехода ослик переправит.
У тебя же на экране будут ещё часики и т.д. и т.п.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125277
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
т.е. вместо XXX.Redirect(url)
сделано куча кода с итогом
Осёл.location.href = url;
....
Удачи!
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125293
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
"обработчик" ws на клиенте (браузер)" поражает)).
Это вместо того чтобы дать с сервера команду XXX.Redirect?
Тогда по стандарту HTTP по коду перехода ослик переправит.
У тебя же на экране будут ещё часики и т.д. и т.п.
если ты думаешь , что обработчик ws обрабытывает только эту команду, ты ошибаешься
это один обработчик на все команды приходящие с сервера.
а таких для одной страницы приближается к 30. так что это не куча кода...
у меня корпоративное решение и городить кросбраузерность мне не к чему, в хроме работает без проблем.
если под ослика - и для него конкретно можно сделать .
у меня, если нет действий юзера , по окончании сессии браузер автоматически перейдет на страницу входа, закрыв тем самым страницу на которой работал юзер.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125298
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если это для тебя куча кода....
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  con.onmessage = function (response) {
            if (typeof (response.data) === 'string') {
                var r = rg.exec(response.data);
                try {
//"рефлексия"   - 2 варианта
                    if (r[1].includes('.')) {
                        var d = r[1].split('.');
                        window[d[0]][d[1]](r[2]);
                    } else {
                        window[r[1]](r[2]);
                    }
                } catch (er) {
                    console.log('ошибка ' + er.stack);
                    console.log('вызов ' + r[1]);
                    console.trace();

                }

...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125311
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в принципе , раз браузер "сам" переходит - то можно сделать сохранение всего, что нужно в LacalStorage, и при входе юзера восстановить всё состояние страницы.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125316
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Я к тому что можно вообще страницу не загружать с твоим ws кодом. А использовать ответ https://ru.m.wikipedia.org/wiki/Список_кодов_состояния_HTTP.
Понятно что тебе так удобнее и ты привык.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125320
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв принципе , раз браузер "сам" переходит - то можно сделать сохранение всего, что нужно в LacalStorage, и при входе юзера восстановить всё состояние страницы.
Угу. Сам 30 минут поставил, а теперь сохраняй на 31 ой)
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125357
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
Я к тому что можно вообще страницу не загружать с твоим ws кодом. А использовать ответ https://ru.m.wikipedia.org/wiki/Список_кодов_состояния_HTTP.
Понятно что тебе так удобнее и ты привык.
ну для этого надо обратиться к серверу....
у меня к серверу нет обращения , сервер сам даёт команду перейти

авторУгу. Сам 30 минут поставил, а теперь сохраняй на 31 ой)
не понял...
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125371
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяне понял...тайм аут сервера ставь больше...и сабж потеряет смысл.
Кто-то любит чтобы сервер командовал моими окнами на рабочем столе.
Кто не любит.
У меня вон, вообще неделями юзвери комп не выключают. Я тоже захочу чтобы связь всегда была и ты не делал дурацких окон - перелогинься)).
Делай как хочешь. Это всё рюшечки.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125377
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну у меня - пока юзверь давит на кнопки и есть обмен с сервером, сессия продлевается. как только нет обращения в течении определённого времени - переход. типа секретность ...
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125384
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
можно задать время сессии и в год...
а можно с помощью setInterval посылать на сервер команду для продления сессии
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125564
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не много не по теме ,но вопрос такой у кого работает этот способ?!
Код: html
1.
2.
3.
4.
5.
6.
<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <%--автообновление страницы после 30 минут бездействия - редирект на страницу login --%>
        <meta http-equiv="refresh" content="108000" />



http-equiv="refresh" - работает , если добавить url - делает редирект

а почему не работают эти заголовки???

Код: html
1.
2.
   <meta http-equiv ="Page-Enter" Content="blendTrans(Duration=2.0)">
   <meta http-equiv ="Page-Exit " Content="revealTrans(Duration=3.0, Transition=7)">



эффекты при попадании на страницу и уходе с нее? по нажатию на кнопки навигации в браузере или по переходу по ссылке?

пример ходу добиться плавного слистывания страниц влево

что как настроить?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125591
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор <%--автообновление страницы после 30 минут бездействия - редирект на страницу login --%>
<meta http-equiv="refresh" content="108000" />
только это не после бездействия, а обязательный переход/обновление через заданное время
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125896
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавтор <%--автообновление страницы после 30 минут бездействия - редирект на страницу login --%>
<meta http-equiv="refresh" content="108000" />
только это не после бездействия, а обязательный переход/обновление через заданное время

Да это работает. так что если мы сидели на странице 30 минут и сессия на сервере протухла - то браузер обновит страницу и нас перебросить на логин.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125960
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Да это работает. так что если мы сидели на странице
вы определитесь, "сидели" - не трогали мышку и клаву или ещё как))
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39125966
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа это работает. так что если мы сидели на странице 30 минут и сессия на сервере протухла - то браузер обновит страницу и нас перебросить на логин.
как пользователь - за такое б морду набил, как начальник - выгнал б...
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127049
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторДа это работает. так что если мы сидели на странице 30 минут и сессия на сервере протухла - то браузер обновит страницу и нас перебросить на логин.
как пользователь - за такое б морду набил, как начальник - выгнал б...

что не так?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127059
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1вадяпропущено...

как пользователь - за такое б морду набил, как начальник - выгнал б...

что не так?
сидишь, работаешь, а если еШО и с клиентом рядом, ответственный момент...
а тут раз и тебя отослали ...
и всё по новой....
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127064
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Такой подход будет целесообразным для систем с высоким уровнем конфиденциальности и защиты личных данных( банковские системы).
Для ситуаций типа "Пользователь открыл страницу в соседней вкладке, забыл про нее и ушел на обед/домой/в астарл", через определенный промежуток времени вывести предупреждение и обновить страницу после таймаута.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127088
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JonnySKSвадя,

Такой подход будет целесообразным для систем с высоким уровнем конфиденциальности и защиты личных данных( банковские системы).
Для ситуаций типа "Пользователь открыл страницу в соседней вкладке, забыл про нее и ушел на обед/домой/в астарл", через определенный промежуток времени вывести предупреждение и обновить страницу после таймаута.
такой подход не оправдан ни в одной системе.
а для секурити - я предложил метод, и реализовал его у себя, сервер извещает клиента об окончании сессии и клиент сам переходит на страницу входа .
но сессия имеет свойство продляться при наличии обмена данными с сервера с клиентом.
а наличие множества вкладок - это можно контролировать и не допускать.
да и закрыть не одну , а несколько вкладок/окон тоже не проблема.
даже если нет активного обмена - работа идет offline, тоже можно решить более мягким методом.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127092
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадясервер извещает клиента об окончании сессии и клиент сам переходит на страницу входа
разве?
Как раз у тебя обратный канал для "клиент сам без участия юзверя переходит..."
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127098
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто можно контролировать и не допускать
JonnySKS говорил, что если у тебя не банк - не надо ничего контролировать и решать ЗА пользователя.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127105
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Я имел в виду ситуацию, когда на странице могут отображаться строго конфиденциальные данные(данные счетов для оплаты, выписки по счетам, личные/паспортные данные) которые следует дополнительно защищать, при этом оповестив пользователя сообщением типа "Вы все еще тут?". Лично мне в данной ситуации такой подход кажется оправданным.

В прочих ситуациях да, комфортности такое решение явно не прибавит.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127121
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадясервер извещает клиента об окончании сессии и клиент сам переходит на страницу входа
разве?
Как раз у тебя обратный канал для "клиент сам без участия юзверя переходит..."
у меня идет контроль активности обмена - при наличии обмена сессия продляется. при отсутствии обмена более заданного времени, сессия сервером прерывается и на клиента идёт команда - перейти на страницу входа - "и клиент сам переходит на страницу входа".
в данном случае если юзверь ушёл и не завершил ввод - сам виноват.
если юзверь не ушёл, а просто просто лясы точит с клиентом, и время сессии вышло, в конкретном настоящем варианте тоже всё оборвется.
но и такую ситацию можно решить - сэмулировав страницу входа - поместив непрозрачный див поверх всего, а на нём поля логина/пароля.
в общем напридумывать можно много чего, что можно реализовать. всё по конкретной ситуациии
но не грубым перекидыванием
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127128
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв данном случае если юзверь ушёл и не завершил ввод - сам виноват.
мы про это и говорим. Если я вышел в коридор жене позвонить)) и по приходу увидел твой фокус, то тебе привет))).
IMHO ты сам себе придумал задачу в сабже, т.к. у тебя ws.
И 3 странички тут нечего обсуждать.
Удачи!
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127327
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадяв данном случае если юзверь ушёл и не завершил ввод - сам виноват.
мы про это и говорим. Если я вышел в коридор жене позвонить)) и по приходу увидел твой фокус, то тебе привет))).
IMHO ты сам себе придумал задачу в сабже, т.к. у тебя ws.
И 3 странички тут нечего обсуждать.
Удачи!
в моём варианте - всё решается , в варианте ТС - силовой переход через заданное время - вот в чем спор.
авторесли юзверь ушёл и не завершил ввод
тут вопрос скорее административный - и если требование секурити превыше - то закрытие- оправданное решение, но не закрытие при работающем юзвере!
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127352
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
где ты видел закрытие при работающем? Нигде такой Ж. не было и не будет.
Цепляешься за каждую сломинку, чтобы свой обратный канал от сервера к юзверю оправдать.
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127365
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
где ты видел закрытие при работающем? Нигде такой Ж. не было и не будет.
Цепляешься за каждую сломинку, чтобы свой обратный канал от сервера к юзверю оправдать.

видел :)
18544542
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127399
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
повторяю.
- решение через тег HTML - Жопа т.к. это просто таймер
- решение через ws оверхед, т.к. обновлять клиент без участия юзверя нужно только типа в банках.
- решение проще через парам таймаут веб сервера.
так понятно?
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127448
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
повторяю.
- решение через тег HTML - Жопа т.к. это просто таймер
- решение через ws оверхед, т.к. обновлять клиент без участия юзверя нужно только типа в банках.
- решение проще через парам таймаут веб сервера.
так понятно?
мне это было понятно изначально, я пытался донести это до ТС. мой вариант - как вариант решения, один из многих, я не стал называть решение ТС как ты, постеснялся...а выбирать 2-й или 3-й вариант (из твоего списка) это уже по месту и по задаче. я выбралсаоё решение только для проверки как это .будет выглядеть на практике. да это вариант «для банка»
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127470
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
ok "расписали". Я был согласен с JonnySKS.
Удачи!
...
Рейтинг: 0 / 0
Spring rest api redirect if session timeout
    #39127511
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
ok "расписали". Я был согласен с JonnySKS.
Удачи!
вариант наиболее правильный.
возник вопрос как его более красиво реализовать на практике?
красивого, удобного решения у меня нет
...
Рейтинг: 0 / 0
66 сообщений из 66, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring rest api redirect if session timeout
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]