【问题标题】:Session management with Spring Boot?使用 Spring Boot 进行会话管理?
【发布时间】:2020-07-23 22:13:21
【问题描述】:

我想使用 Spring Boot 设置会话管理和身份验证。具体来说,当用户登录我的 Web 应用程序时,他们应该能够调用我的 REST API 来获取数据。此外,在一段时间后,它们应该会自动从系统中注销,此时任何 REST 调用也应该失败。如何使用 Spring Boot 完成此任务?

【问题讨论】:

  • REST的概念是无状态的,它应该在没有HTTP会话的情况下实现,见-en.wikipedia.org/wiki/Representational_state_transfer#Stateless
  • 如何将 Spring Session 生成的 session id 传递给另一个微服务?我有同样的要求。当我们为微服务实现spring secuirty时,会话过滤器将如何运行并获取会话以根据会话ID对用户进行身份验证。

标签: java spring spring-mvc authentication


【解决方案1】:

Spring Session 负责分布式会话管理。

Spring Session 提供了用于管理用户会话信息的 API 和实现。它还提供透明的集成:

HttpSession - 允许以中立方式替换应用程序容器(即 Tomcat)中的 HttpSession。其他功能包括:

集群会话 - Spring Session 使得支持集群会话变得微不足道,而无需绑定到特定于应用程序容器的解决方案。

多个浏览器会话 - Spring Session 支持在单个浏览器实例中管理多个用户的会话(即类似于 Google 的多个经过身份验证的帐户)。

RESTful APIs - Spring Session 允许在标头中提供会话 ID 以使用 RESTful APIs

【讨论】:

    猜你喜欢
    • 2020-07-25
    • 2016-04-26
    • 2017-01-23
    • 2011-06-10
    • 2016-09-29
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    相关资源
    最近更新 更多