【问题标题】:Session management in Spring with REST使用 REST 在 Spring 中进行会话管理
【发布时间】:2017-07-28 02:40:08
【问题描述】:

所以我正在使用 Spring 为一个简单的游戏构建一个 REST-API。我现在需要能够跟踪用户以及一些数据(他们在哪些游戏中以及在哪个团队中)。我得到了一些提示,表明 Spring 安全性可能值得一试,但是我看不出这将如何帮助我而不需要登录。

有没有什么好的方法可以做到这一点?

我也尝试过使用可以从 HttpServletRequest 获取的会话,但是此会话与第一次导航到网页不同,我无法解决,我担心它会太不可靠。

【问题讨论】:

    标签: java spring rest security session


    【解决方案1】:

    REST 应该是无状态的。这意味着您真的不想为用户数据之类的内容建立会话。这都应该在服务器端持久化并通过休息调用进行管理。您将拥有一个用户资源和一个游戏资源,也许还有它们之间的关系,所有这些都保存在数据库中。 Spring Security 不会为您提供任何帮助。

    Spring Security 可以帮助您保护您的 REST 服务和管理身份。尽管 REST 是无状态的,但客户端在 HTTP 标头中发送访问令牌之类的内容是正常的。此访问令牌提供身份和身份验证。同样,您需要单独管理和存储访问令牌和用户服务器端之间的关系,可能在您的数据库中。

    【讨论】:

      【解决方案2】:

      Session 可以从 HttpSession 而不是从 HTTPServeletRequest 中获取。 HttpSession 是可靠的。

      【讨论】:

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