【问题标题】:Handling User Preferences/States in REST API在 REST API 中处理用户偏好/状态
【发布时间】:2019-01-22 08:16:42
【问题描述】:

我们开始将我们的网站迁移到基于 REST 服务的系统,并且目前正在开发核心。

在我们当前的设置中,用户分配了一个或多个“帐户”,这些“帐户”定义了他可以在网站上看到的数据。在任何时候,给定用户只能激活一个帐户。现在我们将选定的帐户存储在数据库中,并使用它来过滤所有查询。

现在我不确定如何在 REST 环境中正确处理这个问题。我找到的可能解决方案是:

  • 在每个请求中发送请求的帐户
  • 将当前帐户存储在身份验证令牌中。 (我们为此使用 JWT)
  • 将当前帐户存储在服务器上并调用特定资源来更改它

对于我们的设置,每一个都有其优点和缺点。目前我们在我们的网站中使用第三种方法。但是在 REST 环境中处理此类事情的正确方法是什么?

【问题讨论】:

    标签: rest session restful-authentication


    【解决方案1】:

    是的,您正在处理的设计相当糟糕,您真正想要做的是将状态完全从这个系统中移除。

    出于这个原因,第一个选择要好得多:

    在每个请求中发送请求的帐户

    如果这只是一个 id,有一种非常简单的方法可以做到这一点,只需在所有(相关)路由/uri 前面加上这个帐户 id。例如:

    http://api.example.org/accounts/{id}/...
    

    这样,“状态”是根据您访问的 url 来维护的,服务器可能不知道状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 2015-05-16
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      相关资源
      最近更新 更多