gpt4 book ai didi

tomcat - 浏览器 session 超时

转载 作者:行者123 更新时间:2023-11-28 23:15:47 25 4
gpt4 key购买 nike

抱歉这个奇怪的标题,但我不知道我的问题是从哪里来的。

我正在开发一个受 Spring Security 保护的 Spring-Boot 应用程序。它通过一个名为 JSESSIONID 的 cookie 来识别用户,该 cookie 在“ session ”结束时过期(我不知道 session 是什么意思。)

我有一些用户登录后,使用该应用程序几分钟,让浏览器选项卡打开几个小时,然后尝试重新使用该应用程序,但他们不再被服务器识别,必须重新进行身份验证。

关于问题的根源,我有两个想法。

  1. 如果第一个请求在几个小时后发送,浏览器(在这种特殊情况下是 firefox)忘记了 cookie(可能是因为某种超时)并且没有将其包含在请求中或者

  2. cookie 仍包含在请求中,但后端忘记了该 session (可能是因为可配置的超时)

我回家了,你可以帮我找到问题,最好的情况是找到调整它的方法。

最佳答案

根据我从您的问题中了解到的情况,我认为您需要在 spring-boot 应用程序中配置 session 管理。

Remember-me 身份验证是一种在 session 之间记住用户身份的解决方案。当用户使用记住我选项登录到应用程序时,Spring Security 会向浏览器发送一个 cookie。此 cookie 在特定时间段内存储在浏览器端。下次用户登录应用程序时,Spring Security 将检查并验证存储的 cookie,如果 cookie 有效,则自动登录。

Spring Security 提供了两种实现 remember-me 的方法 -

Hash-Based Token Approach - In this approach, username, expiration time, password and a private key are hashed and sent to browser as a token.

Persistent Token Approach - In this approach, a database or other persistent storage mechanism is used to store the generated tokens.

尝试 Google 了解如何实现这些,您将获得大量资源。

另外,您还需要在 application.properties 中设置 session 超时属性,并根据您的要求进行配置。

server.session.timeout=# time in seconds

关于tomcat - 浏览器 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49750333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com