【问题标题】:How to remove role of a user from particular resource in node_acl?如何从 node_acl 中的特定资源中删除用户的角色?
【发布时间】:2015-06-06 05:29:41
【问题描述】:

我的项目中有多个资源和多个用户。单个用户可能在不同的 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() 方法从 "resource B" 修改管理员角色。

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

    })

它还将从 “resource A” 中撤销 “Bharat” 的管理员角色。 有什么方法可以做到这一点,或者使用 node_acl 从特定资源中删除(“撤销”)用户角色。

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

【问题讨论】:

    标签: node.js acl


    【解决方案1】:

    Node ACL 网站上提出了一个关于如何删除单个角色的类似问题。

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

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 2021-08-12
      • 2019-11-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多