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

时间:2015-06-06 05:29:41

标签: node.js acl

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

让我解释一下。

我有2个资源调用然后"资源A"和"资源B"在资源上用户" Bharat"有管理员角色。

  

允许资源

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

添加用户角色

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

})

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

  

  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。

1 个答案:

答案 0 :(得分:0)

在节点ACL网站上提出了一些类似的问题,涉及如何删除各个角色。

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