gpt4 book ai didi

node.js - 是否有与 Hapi 兼容的库以提供细粒度的 ACL/用户权限?

转载 作者:IT老高 更新时间:2023-10-28 23:16:55 25 4
gpt4 key购买 nike

希望使用 HapiJS 作为我们的 API 服务器。我们需要细粒度的用户权限,例如给定模型/资源的“用户 A 可以编辑字段 B”“用户 C 可以查看字段 D”。

在我们开始构建之前,我一直在查看是否已经完成了与 Hapi 兼容的类似操作。

最佳答案

我刚刚阅读了一篇文章,其中使用内置范围验证 ACL 权限。

这是上述文章的链接: https://blog.andyet.com/2015/06/16/harnessing-hapi-scopes/

为了快速恢复(使用上面链接中的示例),您将获得一个如下所示的用户对象:

{
"username": "han",
"scope": ["door-trash-compactor"]
}

范围可以由支持此用户的 ACL 的任何内容生成。在这种情况下,您拥有 ID 为 trash-compactor 的资源 door 可以像这样检查:

server.route({
method: 'GET',
route: '/doors/{door_id}',
config: {
handler: function (request, reply) {
reply(request.params.door_id ' door is closed');
},
auth: {
scope: ['door-{params.door_id}']
}
}
});

范围 door-{params.door_id} 将被转换为 door-trash-compactor 然后将被验证。 Han 对垃圾压缩机门的请求将是有效的,他将收到 door is closed 消息。

这篇博文写得很好(比这篇总结要好得多)并且描述得更详细——推荐阅读。

关于node.js - 是否有与 Hapi 兼容的库以提供细粒度的 ACL/用户权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26005813/

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