问题标签 [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.
rbac - Yii 没有给出有效的 checkAccess 结果
我正在学习 Yii 并且正在尝试开发 RBAC,现在问题是我已经创建了角色,等等通过 shell 执行了该脚本,我已经准备好了数据库表并且角色和所有内容都被填充了。现在我不知道为什么但是
总是返回 No admin 。我想做的是根据用户类型显示不同的菜单,即它是 admin 或 reader 或 manager 等等。但这失败了。
我也在这里附加我的角色分配
python - Role-based access control with Pyramid
I am considering using Pyramid to build a middle sized web application. I would need to implement RBAC. What would be the best choice? Would it be possible to use Zope components?
php - 基于角色的访问控制 - 正确的 MVC 模式
半年前开始使用MVC模式,到现在还是有一些误解。
现在我想在我的应用程序中实现基于角色的访问控制。但是,我的问题不是关于 RBAC,而是关于 MVC。
我对 RBAC 的实现是这样的: user->role->permission ,所以每个用户(例如 userA)可以有很多角色(例如 reader、editor、admin),每个角色可以有很多权限(read、update、delete、 ETC。)。
MySQL 表
- 用户(用户列表)
- 角色(角色列表)
- 权限(权限列表)
- 角色权限(角色列表->权限连接。例如编辑器->更新)
- users_roles(用户列表->角色连接。例如 userA->editor)
现在我的问题是 我应该如何在 MVC 中实现它?有一个单独的模型:用户、角色、权限、roles_permissions、users_roles,而不是有一个创建用户、角色、权限、roles_permissions 和 user_roles 的 authManager 类?这种方式正确吗?有没有更好的,也许更优雅的方式?
c# - 与 RBAC 实施相关的问题
我有一些与 RBAC(层次模型)有关的问题。以下是场景
假设我有三个角色,一个父角色和三种不同类型的权限
家长角色:分公司经理。 儿童角色:储蓄经理、贷款经理和会计师。 权限:持久化、删除、查看
Q1:一个子角色是否可以由两个或多个角色继承,即假设会计师向储蓄经理和贷款经理报告不同职责的角色 - 例如储蓄经理从会计角色获得高价值储蓄账户客户的报告,贷款经理从会计角色获得报告会计在客户获得的高额贷款中的作用
是否允许这种模式,或者我们是否需要根据他们的职责有储蓄会计师和贷款会计师之类的东西
Q2:如果 Q1 有效,那么我如何拒绝储蓄经理的贷款相关权限(持久贷款、删除贷款、查看贷款详细信息),但允许贷款经理获得储蓄相关权限,反之亦然。
Q3:假设,
会计无权删除储蓄记录 储蓄经理有权删除储蓄记录 贷款经理无权删除储蓄记录
现在银行经理角色会发生什么(未定义删除储蓄记录)。银行经理是否会获得删除储蓄记录的权限。确实允许优先于拒绝或反之亦然,或者我是否需要为此编写规则(要优先)。
还有一些问题我稍后会问
谢谢阿尔伯特·阿鲁尔·普拉卡什
security - 使用 Access 实现 RBAC 的最佳方式
我正在编写一个具有许多用户、几个角色和这些角色的特定权限的新应用程序。为此,我想创建以下表格:
我的想法是构建一个函数,它允许检查用户是否具有访问表单的特定权限。我会通过创建诸如“canReadFormX”、“canEditFormX”之类的权限/规则来做到这一点,这将允许我使用一个主要函数来检查和执行这些特定规则,并使用每个表单的函数来调用它。
这是一种可行的方法(或者更确切地说,我是否正确理解了有关 RBAC 的所有内容),还是这太复杂了?任何建议都非常感谢!
ruby-on-rails - 使用 CanCan(或其他插件?)的自定义 RBAC
我正在为我正在制作的应用程序寻找定制的 RBAC 解决方案。与休闲 CanCan 的主要区别在于 RBAC 不依赖于用户模型,而是依赖于其他一些模型,完全自定义。
例如,一个用户属于一个组,并且该组具有具有特定权限的角色。也就是说,用户可能属于“工人”组(他是工人),工人可以“修理东西”。
在实现这个之前我真正想问的是,CanCan 是否能够做这样一个定制的事情。或者,如果有更好的解决方案来设计自定义 RBAC,也许是更好的插件?
请注意,我正在尝试做的这个 RBAC 与实际的用户身份验证无关,而只是一种使用内部资源的方式,比如谁能够修复东西,谁能够清理等等..
yii - Yii 的 RBAC 中的“任务”到底是什么?
在设计新的相当大/复杂的网站时,我正在深入研究 RBAC。我试图弄清楚是创建一个任务还是简单地使用 biz 规则进行操作。
现在,我已经阅读了大部分(如果不是全部)现有文档。当前的文档说“任务由操作组成”。这篇wiki 文章说不同的术语只是命名约定,唯一存在的限制是结构上的限制——角色必须包括任务(或其他角色);任务应该包括操作(或其他任务),操作是原子术语,不由其他实体进一步组成。我还阅读了“Agile web dev...”和“Yii cookbook”书籍中的相关部分 - 两者都没有进一步阐明这个问题(至少从我的眼镜来看)。
让我们来看我提出问题的例子。实际上,让我们使用一个类似于上面提到的大多数文档资源中演示的示例:假设我有一篇博客文章,我希望/需要让其作者能够“更新自己的文章”。现在,为什么这应该是文档资源中通常展示的任务,而不是具有 biz 规则的操作?
我认为上面的问题揭示了“任务”的不明确定义(当然是在 RBAC 上下文中)。
请帮助我为 RBAC 任务提炼出更好的定义。
编辑:有人建议我对上述术语进行以下定义,这些定义有助于以有用的方式将它们概念化。简而言之,最简单的形式是:操作是基本的构建块。他们是材料开发人员,并且只有他们。开发人员在操作之上和之上组成任务。角色由任务组成,就像一组任务。角色和任务是站点管理员应该使用的——分配和撤销给用户,而不是操作。这是查看和掌握这些实体(角色、任务和操作)的好方法。您还有其他选择来进行不同的概念化吗?任何意见将不胜感激。
蒂亚!波阿斯。
count - 数一下有多少用户有权限做 x?
在 Yii RBAC 中,是否可以获得关于有多少用户有权执行 x 的计数信息?
我的意思是,可以编写一种方法:
- 检查在 Db 中分配的所有用户,
- 递归添加所有具有父权限的用户,
- 并排除重复的 ID。
但是有什么预制的方法可以做到吗?提前感谢您的任何想法。
database - 具有附加级别的 RBAC
我正在尝试设计一个RBAC
带有扭曲的数据库(或者也许只有我认为它是扭曲的?)。据我了解RBAC
,使用角色和权限来授予/拒绝对我系统中某些对象的访问。当我只有一个站点实例并简单地创建一个角色' Main admin
',' Secondary admin
',' User
'等时,一切都很好而且清晰。
但是,如果我在系统内有帐户怎么办?所以我有一个系统,它有说' London
',' Tokyo
'和' Moscow
'帐户。现在我将为每个帐户设置“主管理员”,以及每个帐户中的许多“用户”——当然,莫斯科人不应该能够登录伦敦帐户。我该怎么做?我是否创建了一些额外的表来将分配绑定到用户的帐户?或者我是否将 accountid 添加到 assignments 表?或者也许我应该创建多个角色,如“moscow_main_admin”、“london_main_admin”等。这种情况的最佳方法是什么?
另外我相信我会有一些用户是伦敦账户的“主要管理员”和东京账户的“次要管理员”。
我打算使用内置 RBAC 的 Yii ......如果这有什么不同的话。
如何解决?
先感谢您!
c# - WPF 应用程序的基于角色的访问控制 - 最佳实践
我需要为我目前正在编写的 WPF 应用程序实现某种RBAC 。由于 v2.0 ASP.NET 具有安全性、成员资格和角色管理基础结构(例如,如此处所述),虽然我可以使用它,但仍然觉得在这种情况下使用它会有点 hacky。我会欢迎任何使用过它并在类似情况下取得成功的人的反馈。
我还考虑过使用 AD LDS,阅读 TechNet 文章并查看了一些 MSDN 代码示例,但我想知道是否有任何组件(用于 .NET)可以消除创建数据库背后的一些固有复杂性,设置它以进行部署和持续维护。在这种情况下,免费或商业都可以。
SO 上的其他问题提到了客户端应用程序服务,但这需要将 IIS 添加到组合中,虽然这并没有超出可能性的范围,但这是我在项目开始时没有想到的。
在这种情况下,最佳实践是什么?该应用程序是典型的 n 层类型事务,它与远程 SQL Server 数据库通信,因此如果需要可以将角色存储在那里