我的项目中有多个资源和多个用户。单个用户在不同的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。
答案 0 :(得分:0)
在节点ACL网站上提出了一些类似的问题,涉及如何删除各个角色。