g.c*_*rey 7 restful-authentication restful-architecture json-api
我正在开发符合 JSON API 的 REST api。某些端点包含某些用户应限制(只读或不可用)的字段。
构建 api 以允许某些用户访问某些字段而其他用户不能访问的最佳方法是什么?“最好”,我的意思是:
我正在考虑以下选项,每个选项都有其关注点/问题。对于任何其他解决方案,我将不胜感激!
注意:我已经构建了一个单独的权限架构,以便客户端可以在发出任何请求之前根据顶级端点确定用户拥有哪些 CRUD 权限。权限集按资源类型编制索引。
对此事的任何帮助将不胜感激!如果有什么需要澄清的,请随时提出。
我绝对不会使用undefinedornull来指示不允许用户看到的字段。对我来说,这感觉像是一个谎言,表明数据确实不存在。他们必须真正了解您的 API 才能了解到底发生了什么。
我会推荐更像你的第三个选项的东西,除了我会把它变成一个完全不同的端点。因此,在您的示例中,端点将是:
/api/entity/1/cost
对于管理员来说
/api/admin/entity/1/cost
或类似的东西。
这样,您的管理端点的服务器代码就可以专注于验证该管理用户并让他们返回他们可以看到的所有字段。如果非管理员用户尝试访问该路由,请使用未经授权的状态代码拒绝他们。
我并不是说您不应该实现 GET 参数来指定字段。如果你愿意的话可以,但我认为在这种情况下没有必要。
| 归档时间: |
|
| 查看次数: |
1723 次 |
| 最近记录: |