首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RETS Api:面向多用户访问级别的端点设计

RETS Api:面向多用户访问级别的端点设计
EN

Stack Overflow用户
提问于 2014-09-08 11:59:56
回答 2查看 1.7K关注 0票数 3

假设我有以下端点:

/accounts (公司/业务部门)

/vehicles (轿车、卡车等)

/users (登录用户)

用户可以拥有3种不同的权限:全局管理、帐户管理和用户。

如果用户以下列方式访问车辆:

  • 全球行政管理:他会得到所有的车辆
  • 帐户管理:所有车辆与他的帐户相同
  • 用户:所有他自己的车

但是,如果一个帐户管理员访问/vehicles,他可能只想要自己的车辆,如果一个全球管理员只想在他自己的相关帐户上的车辆。然后呢?

一个示例解决方案:

/accounts/{accountId}/vehicles (全球管理)

/accounts/current/vehicles (帐户管理)

/vehicles (供用户使用)

或…

/accounts/{accountId}/vehicles (用于全球管理)

/vehicles/byUserAccount/{accountId} (帐户管理)

/vehicles (供用户使用)

或…

/vehicles/byEntireAccount/{accountId} (全球管理)

/vehicles/byUserAccount/{accountId} (帐户管理)

/vehicles (供用户使用)

对于这个案子,有什么最佳的做法或好的建议吗?

希望这个问题有意义。

EN

回答 2

Stack Overflow用户

发布于 2014-09-08 12:13:32

如果要实现这一点,我将只创建一个端点来访问vehicles (/vehicles/),并使全局用户和帐户管理员用户能够发送一个可选的GET param来指示他们还想要什么。他们可以发送AllGlobalAllAccount来指示它。当然,在返回数据之前,我也会根据代码中的请求检查他们的权限。

无味中实现这一点是非常容易的。

票数 0
EN

Stack Overflow用户

发布于 2014-09-08 20:53:31

你不需要对此做任何事。只需列出实际用户可以在同一个端点上看到的安全级别的内容,仅此而已.

更详细的是:

  • 您可以添加/vehicles/,它可以列出实际用户可以看到的车辆。
  • 您可以添加/account/{id}/vehicles/,它可以列出与特定用户相关的车辆。

注意:根据REST的https://stackoverflow.com/questions/25611167/do-i-need-oauth2-for-my-web-apps-api,在您的情况下,您必须在每个请求中发送足够的信息来验证用户的身份,并且您不能拥有服务器端会话存储.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25723777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档