如何通过一个宁静的api检查他或她对特定资源的访问权限?

时间:2018-09-07 21:16:53

标签: rest

假设我们拥有以下资源:api/v1/cars/{id}

一个人如何真正知道他或她是否可以访问此特定资源? api/v1/auth/cars/{id}

1 个答案:

答案 0 :(得分:0)

首先,最好有别的东西,而不仅仅是为了在Angular应用中浏览(我完全承认这一点)来利用资源,例如将身份框架与ASP.NET结合使用。

无论如何,我列出了一些解决方案

  • 获取api/v1/cars/{id}并利用错误代码
  • HEAD api/v1/cars/{id}并仍然利用错误代码而不转移整个身体
  • 选项api/v1/cars/{id}(有点扭曲,但不返回错误)以了解是否实际上是可获取的
  • 另一种资源,例如
    • 获取api/v1/cars/{id}/authorized
    • 获取api/v1/auth/me/cars/{entityId}

我最终使用了第一个解决方案,并在Angular应用程序中使用了“解决方案防护”,这是实现该解决方案的最“标准”方式,即使我个人觉得这很丑陋。