gpt4 book ai didi

node.js - REST API 权限/角色管理

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:43 25 4
gpt4 key购买 nike

我实际上正在构建一个基于 Node.js 的 RESTFul API,但我遇到了一个问题。

域代码已编写,我现在正在尝试管理此应用程序的访问权限,但我不知道如何处理。

事实上,我需要允许/限制用户的资源访问。实际上,我考虑过将权限存储在用户的数组中,如下所示:

{
userName:"foo",
userMail:"foo@bar.com",
userApiRightsAllowed:[
{
uri:"/site/1594656",
verb:"post",
},
{
uri:"/sites",
verb:"get",
}
]
}

在自定义中间件中,我检查用户权限是否包含 req.url 和 req.verb。

如果没问题,他就可以访问该资源。在另一种情况下,他得到了 403 FORBIDDEN。

问题

问题是当我需要获取/sites 时。我授权用户获取/sites,但他无权查看/sites/65982 等网站详细信息。

但在我的网站列表中,他会看到所有网站和其中的/sites/65982。

问题

以最小粒度管理 API 访问权限的最佳方式是什么:资源和方法?

如何才能使我的代码正常工作,并且用户只能看到他能够查看的网站?

编辑:我正在使用 MongoDb 数据库

提前致谢

最佳答案

假设您使用 express(基于标签),sails.js是一个很好的选择,可以将应用程序的功能扩展到 Express 提供的基本 REST 功能之外。 Sails 有一些有用的插件可帮助管理角色、用户和权限:

关于node.js - REST API 权限/角色管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29694795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com