node.js - 如何从node_acl中的特定资源中删除用户的角色?

标签 node.js acl

我的项目中有多个资源和多个用户。单个用户可以在不同的 2 资源上具有不同的 2 角色。但node_acl的问题是,如果我想从特定资源中删除用户的角色,则没有任何功能(方式)。

让我解释一下。

我有 2 个资源,可以调用“资源 A”和“资源 B”,并且在这两个资源上,用户“Bharat”都具有管理员角色。

Allow resource

redisAcl.allow([{
    roles: ['admin'],
    allows: [{
        resources: "resources A",
        permissions: "Put"
    }]
},{
    roles: ['admin'],
    allows: [{
        resources: "resources B",
        permissions: "get"
    }]
}]);

Adding user role

redisAcl.addUserRoles("Bharat", "Admin", function() { 

})

它将管理员角色设置为“Bharat:在两个资源上。好吧,我将暂时管理它。因为我有一个内置方法来检查任何资源的权限。

Like

  redisAcl.isAllowed("Bharat", "resources A", "get", function(err, allowed) { 
console.log("first",allowed); // result is false})

     redisAcl.isAllowed("Bharat", "resources B", "get", function(err, allowed) {
console.log("first",allowed); // result is true. })

但是如果我想撤销“Bharat”的管理员角色。如果我使用 removeUserRoles() 方法从 “资源 B” 重新处理管理员角色。

redisAcl.removeUserRoles("Bharat", "admin", function() {

    })

它还会从“资源 A” 撤销“Bharat” 的管理员角色。 有没有办法做到这一点或使用node_acl从特定资源中删除(“撤销”)用户的角色。

我正在使用node_acl管理 ACL 的模块。

最佳答案

Node ACL 站点上就如何删除单个角色提出了一些类似的问题。

https://github.com/OptimalBits/node_acl/issues/160

关于node.js - 如何从node_acl中的特定资源中删除用户的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679262/

相关文章:

linux - 如何检查 Linux 中的 ACL 中是否存在 UID?

php - 大型站点如何实现行级权限?

node.js - 将 Rover 与 graphql-shield 结合使用

php - 从访问控制列表中排除公共(public)页面

java - 是否有用于管理 UNIX ACL 的 Java 接口(interface)

node.js - 使用 GET 请求调用聚合函数

file - 为什么setfacl在Docker容器中不起作用?

javascript - 事件断开连接

javascript - 如何在客户端调用fetch方法从服务器端接收数组?

node.js - 决定是保存到 devDependencies 还是 dependencies?