1

Я использую весеннюю безопасность в своем приложении. Я просто столкнулся с одной очень конкретной проблемой. Когда я использую несколько вкладок, и если я выхожу из всех вкладок последовательно. Каждая страница имеет новые значения sessionid (fiddler показывает новый идентификатор сеанса для каждого запроса страницы входа). Это вызывает проблемы, поскольку работает только последняя страница входа в систему, а все остальные показывают ошибку несоответствия sessionid.Почему разные идентификаторы сеанса сеанса генерируются после выхода из нескольких вкладок?

Как я могу это решить?

+0

@ Лукас CSRF токен - это не то же самое, что sessionid. aProgrammer, можете ли вы проверить, на что вы ссылаетесь? – AviD

+0

@AviD, потому что тело имело токен CSRF несколько раз, но не идентификатор сеанса. Поэтому я предположил, что это был CSRF. –

ответ

1

Когда вы выходите из системы, сервер убьет ваш текущий сеанс и создаст новый. Этот новый сеанс, конечно, представлен другим сеансом.

Таким образом, во второй раз, когда вы нажмете ссылку на выход, у вас есть страница входа в систему с новым сеансом.

Если вы должны были обновить 1-ю вкладку, после выхода из второй вкладки, у вас, скорее всего, будет правильный сеанс, и вы сможете войти туда.

+0

Нет ли способа, кроме обновления страницы? Я уже это сделал, но это кажется неудобным. Мне было интересно, как Google/SE справились с этим. – aProgrammer

+0

@aProgrammer, если вы действительно ссылаетесь на sessionId и не имеете никакого отношения к CSRF (или я ошибаюсь?), Существуют другие способы его использования, такие как форма для входа в сеанс или только идентификаторы сеансов на основе файлов cookie. Хотя, возможно, вы на самом деле помещаете токен CSRF в форму входа в систему, что, конечно же, не будет работать для двух вкладок параллельно, не говоря уже о неправильных сеансах? – AviD