我的项目中有多个资源和多个用户。单个用户可以在不同的 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 站点上就如何删除单个角色提出了一些类似的问题。
关于node.js - 如何从node_acl中的特定资源中删除用户的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679262/