问题标签 [rbac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Yii RBAC AuthManager 和 Bizrules 的问题
示例:我想允许某人仅更新特定的博客文章。
我认为规则会这样排列,但它不起作用:
查看 Yii 代码我明白为什么。但是我将如何实施呢?我可以为每个作业添加一个 bizrule,但我认为这相当臃肿;一定有更好的方法吧?
php - Yii 简单 rbac - checkAccess 未执行
我是 Yii 的新手。我使用本教程:http ://www.yiiframework.com/wiki/328/simple-rbac/使管理员角色工作。我在控制器中的 accessRules 函数如下所示:
如果我理解 - 当我尝试查看管理或删除操作时,它应该从 WebUser 类执行 checkAccess 函数。我的 checkAccess 函数如下所示:
所以它应该查看“它有效!” 但我明白了
错误 403
您无权执行此操作。
我做错什么了?
zend-framework - 在 Zend Framework 2 RBAC 或 ACL 中。推荐哪个?
我即将在我的 ZF2 项目中实施访问控制。我正在检查 RBAC 和 ACL。哪一个最适合另一个?为什么?
Zend 将来会很好地支持哪一个?
我用谷歌搜索了它,但无法得到答案。
java - 如何为不属于该组织的用户授予角色的组织管理权限?
我正在使用Liferay 6.1,并且我想更改单个组织的权限,以便这些组织可以由不属于该组织OrgA的具有RoleX的UserX管理。
尤其是:
- 我想让OrgA 可以通过RoleX以形式查看和更新
Control Panel->Users and Organizations
- UserX可以添加新的组织和用户
- UserX属于RoleX但不属于 OrgA(所以我认为组织范围的角色不会有帮助)。
我想以编程方式进行。
到目前为止我已经尝试过:
创建RoleX并赋予它以下权限:
- 访问控制面板->用户和组织(portlet 125)
组织机构,范围 4(个人):
ActionKeys.VIEW、ActionKeys.UPDATE、ActionKeys.ASSIGN_USER_ROLES、ActionKeys.DELETE、ActionKeys.MANAGE_USERS
OrgA 的小组,范围 4:
/li>
拥有 RoleX 的用户可以访问Users and Organizations
控制面板中的表单,但他们只能看到自己的组织,而看不到 OrgA。
如何授予查看和管理 OrgA 的权限?
谢谢
rbac - 在基于角色的访问控制 (RBAC) 中使用会话
我正在尝试了解基于 RBAC 模型的访问控制。我参考了以下链接。
如摘录中所述,我还没有清楚地理解这部分-
*“每个会话是一个用户到可能的多个角色的映射,即,用户建立一个会话,在该会话期间用户激活分配给他或她的角色的某些子集。每个会话与单个用户相关联,每个用户是与一个或多个会话相关联。函数 session_roles 为我们提供了由会话激活的角色,函数 user_sessions 为我们提供了与用户关联的一组会话。用户可用的权限是分配给角色的权限在所有 user.s 会话中激活。"*
问题- 如何使用会话来激活角色?用户/组和角色之间的关系作为管理员数据插入。那么,会话如何为用户激活角色子集?
PS -> 我早些时候在这里问过这个问题,但没有答案。可能是这个问题太基本了,但我很想理解它。任何用例或链接肯定会有所帮助。
谢谢你的时间。
php - 复杂的 Righty 系统:ACL、RBAC 等等什么?
我们目前正在开发一个项目管理软件。而且我们在决定实施安全性的正确方法时遇到了麻烦。我们已经查看了 ACL 和 RBAC,并且已经非常确定出于特定原因我们至少需要两者的组合。但是有几个问题在这两个世界中都没有很好的解决方案。让我解释:
假设您有以下实体:
- 用户,具有不同的角色,即
- 项目负责人
- 工人
- 行政
- 项目
- 分配的用户
- 项目中的任务
现在应该表达以下规则:具有角色工作者的用户只被允许查看与他分配到的项目相关的任务。
这导致用户只被允许查看整个列表中的一些任务。
我们将使用 RBAC 授予Roles实际读取Tasks的权限。但由于涉及特定实体,因此不适用该条件。可以使用 ACL,但我们担心保持 ACL 条目与要求一致(用户可以更改,角色可以更改,可以引入新任务并且必须获得正确的条目,这同样复杂)。
当然,在查看特定项目时可能会有特定WHERE project_id = 123
的查询(每一个条目。
以及如何确保诸如“获取当前用户允许查看的前 25 个任务”之类的事情,而无需从数据库加载所有任务,然后基于 ACL 进行过滤,即处理分页。
rbac - RBAC上操作和权限的区别
我正在开发一个使用基于角色的访问控制(RBAC)的通用用户管理系统,如果我无法区分操作表和权限表(在阅读了这么多文章之后)。
"一个主体可以有多个角色。一个角色可以有多个主体。一个角色可以有多个权限。一个权限可以分配给多个角色。一个操作可以分配多个权限。一个权限可以分配给多个操作。 "
en.wikipedia.org/wiki/Role-based_access_control
任何人都可以举一个简单的例子来区分它们吗?
php - 高级访问控制库
我有兴趣为用户执行高级访问控制以访问软件系统中的资源。我在医疗保健 IT 部门工作,年轻的我经常低估医疗保健中基于角色的访问控制的复杂性。但是这个问题应该适用于任何具有复杂 ACL 要求的人。
很长一段时间以来, php gacl一直是我的首选库,用于处理 Health IT 系统中非常复杂的 ACL 控制问题。但我现在更多地使用一般的 javascript 和专门的节点。我已经在 npm 中搜索了库,以便以可概括的方式进行访问控制。
我希望支持定义操作而不仅仅是用户和资源(3 层而不是 2 层),并且我希望拥有用户、操作和资源组,并且暗示我希望拥有 ACL 继承。
从《星球大战》主题手册到该库的经典示例是以下规则:
- 所有机组成员都可以(访问、配置和使用)进入枪支、发动机、驾驶舱和休息室,期待咀嚼。
- 所有机器人都可以(访问和使用)驾驶舱,但只有 R2D2 可以配置访问引擎。
- Han 可以访问所有类型的资源。
这里的基本概念包括您可以制定适用于用户组(即机组人员、乘客或机器人)或个人(Han 和 Chewie)的规则,您可以拥有不同类型的访问权限(访问、配置、使用) 或访问组(维护访问 = 配置 + 维修 + 使用)对不同资源(发动机和驾驶舱)的访问也可以分组(战斗站 = 驾驶舱 + 枪支)。
这允许通过相对简单的基于组的管理来配置非常复杂的访问控制规则。
到目前为止,我在 php-gacl 之外还没有看到类似的东西。我查看了基于 javascript 的精彩 ACL 项目,所有这些项目都宣传简单易用,而不是全面。这也适用于其他典型的 php ACL 库(即Zend ACL)
有人在为节点开发“高级 ACL”项目吗?我应该在某个地方寻找更好的方法吗?
php-gacl 包含三个部分,一个是基于 php 的管理 GUI(诚然过于复杂),一个用于 CRUD 规则的 API(我认为可以很容易地转换为 REST 接口)和一个非常小的提供 ACL 检查功能的文件。
从技术上讲,只有最后一种类型需要完全移植到节点才能使该软件模型工作?
在更深层次上,我想了解成功使用了哪些方法来处理这个问题。这个问题通常是如何解决的?对于那些根据节点/javascript甚至可能甚至是特定的数据库方法(关系与非关系)有效讨论此问题的人的奖励积分。我知道做这个正确/错误有很多理论基础(即对 RBAC 和 ACL 有很多意见)。我想要的是理论上可靠的东西,或者从图书馆的角度来看仍然“正常工作”的几乎可靠的东西。我专注于 Javascript,但很高兴了解其他语言实际上是如何解决这个问题的。
yii - yii rbac:检查组而不是用户的授权
我有一个关于 rbac 系统的问题。我想我已经很好地理解了它,但我需要有关特殊情况的更多信息。
我想对组而不是用户进行自动化。我的意思是,例如“HR”组有权创建一个人。那么任何加入这个小组的人都会拥有它。
让我给你更多的信息。
我的数据库的一部分:
这是我的组层次结构的一部分:
所以我正在寻找的,这将是必须的,是一个每个组都有一些授权的系统。人们得到他们的组和他们父母组的授权(例如“Forsys”中的人有“Forsys”、“R&D”和“管理”的授权)。
我目前看到的解决方案是使用bizrule。但我不确定在数据库中编写 php 代码是一个好主意,然后如果我更新组层次结构(R&D 继承 RH 而不是管理),我将不得不修改数据库中的 bizrule。我试过了,效果很好,但是你可以看到它需要很多代码。
仅用于查看用户是否在组中(不检查父组和层次结构)
另一种可能性是创建一个新表“group_auth”,例如:
-Group_2 具有角色“managePerson”
-Group_3 有操作“deleteUser”...
然后每次在组中添加或删除用户时,我们都会在 auth_assigment 表中更新他的授权。
我想听听关于这个主题的其他意见。所有评论将不胜感激:)
感谢您的阅读,如果您在理解我时遇到困难,请原谅我的英语。
迈克尔·S。
java - 如何在基于角色的访问控制上实现默认角色
我正在实施基于角色的访问控制系统。
用户拥有角色(多对多)
角色拥有权限(多对多)
角色拥有特权(多对多)
角色belongs
对客户
我想要 2 个默认角色:管理员和普通。问题是,角色给belong
客户。所以这意味着我需要为每个客户定义这个默认角色。
如何避免为每个客户定义相同的 2 个角色?
(我想出的第一个想法是让这些默认角色的所有者保持 NULL ,但这会增加很多额外的控制权并分叉我的授权方法)