当前位置: 首页 > 面试题库 >

使用以Redis为后端的Spring会话时,默认会话超时是什么以及如何配置它

楚嘉纳
2023-03-14
问题内容

我的应用程序当前将Spring Session与Redis一起用作后端。

我搜索了Spring Session 的官方文档,但使用该模块时找不到默认的会话超时。

另外,我不确定如果需要如何更改默认超时。

有人可以请教吗?


问题答案:

使用Redis存储库时配置会话超时的最简单方法是

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

当存储库中不再有会话时,该会话将 过期
。可以同时setDefaultMaxInactiveInterval(int)RedisOperationsSessionRepository和上配置超时MapSessionRepository。默认值为
30分钟

如果您使用的是Spring Boot,server.session.timeout则从1.3版开始,它将自动将值与应用程序配置中的属性同步。

请注意,使用spring session的缺点之一是javax.servlet.http.HttpSessionListeners不被调用。

如果您需要对会话到期事件做出反应,则可以订阅SessionDestroyedEventspring应用程序的应用程序事件。



 类似资料:
  • 问题内容: 默认情况下,PHP会话是否超时-即,如果我没有任何编码,最终在一段时间不活动后最终将“注销”用户吗? 问题答案: 这取决于服务器配置或相关指令的session.gc_maxlifetime在。 通常情况下,默认值为24分钟(1440秒),但是您的虚拟主机可能已将默认值更改为其他值。

  • 在JSF2应用程序中,当文件中没有明确提到会话超时时,会话超时是什么? 更新:我正在使用Tomcat,请参阅此处有关Tomcat中默认超时的相关帖子。

  • 问题内容: 如何在Spring Boot应用程序中配置(嵌入式)Tomcat会话超时? 我有一个SessionListener,但是我不知道必须在哪个类中将此Listener添加到Context中。 问题答案: 你应该能够在application.properties文件中进行设置。

  • 我试图使用Spring Cloud的Zuul、Eureka和我自己的服务实现微服务架构。我有多个具有UI和服务的服务,每个服务都可以使用x509安全性对用户进行身份验证。现在我想把祖尔放在那些服务机构的前面。由于Zuul无法将客户端证书转发到后端,我认为下一个最好的方法是在Zuul的前门对用户进行身份验证,然后使用Spring会话在后端服务中复制他们的身份验证状态。我遵循了Dave Syer的教程

  • 在 HTTP 协议中,当客户端不再处于活动状态时没有显示的终止信号。这意味着当客户端不再处于活跃状态时可以使用的唯一机制是超时时间。 Servlet 容器定义了默认的会话超时时间,且可以通过 HttpSession 接口的 getMaxInactiveInterval 方法获取。开发人员可以使用HttpSession 接口的 setMaxInactiveInterval 方法改变超时时间。这些方法

  • 我必须测试一个由spring和jsp编写的web应用程序。应用程序的默认会话超时为30分钟。 我想减少会话超时。为此,我更改了中的文件。但是它不起作用。中的默认配置是- 我刚刚改变了时间- 但仍然不起作用。据我所知,在这种情况下,我必须对spring应用程序的web进行更改。xml。但我不确定。有人能帮我吗? 提前谢谢。