【问题标题】:REST GET array - how to handle errors?REST GET 数组 - 如何处理错误?
【发布时间】:2019-07-27 01:43:01
【问题描述】:

在我的应用程序中,我有一个连接到 MongoDB 的 React 前端 Express 服务器。我的用户是组的成员。每个组都有一个小仪表板。我想要一个网页,为用户所属的每个组显示仪表板。

我在想我会为每个组提交一个带有参数的 GET 请求,以返回一组组。

我的问题是:在这里进行授权的最佳方式是什么?我应该返回一个包含找到的记录和未经授权的错误的数组,还是如果用户对他们请求的一个(或多个)组未授权,我应该为整个请求发送一个 HTTP 403?或者,我是否认为这一切都错了,应该为每个组仪表板发送单独的 GET 请求(我觉得这非常低效)?

如果有人有关于这些类型的设计实践的更多信息的参考资料,我也很乐意拥有它们。谢谢!

【问题讨论】:

    标签: javascript reactjs mongodb express


    【解决方案1】:

    我的直觉是采用您的后一种方法,尽管这在一定程度上取决于您的安全态势有多强硬。很容易在“混合授权”代码中引入错误,并为漏洞提取创建目标。最好为整个结果发送 403。这样想——用户的请求产生了一个询问未经授权的数据的查询——它是否“部分”授权并不重要。

    Google 的桑给巴尔论文:https://www.usenix.org/system/files/atc19-pang.pdf 试图从概念层面回答 Google 规模和背景下的许多授权问题。

    【讨论】:

    • 谢谢,这种做法对我来说很有意义。没有任何输入,所以标记为正确!
    猜你喜欢
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多