问题标签 [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.

0 投票
1 回答
776 浏览

permissions - 分布式应用程序中基于角色的权限

我正在开发一个应用程序,该应用程序由在不同机器上运行的不同语言(其中包括 Java 和 C#)编写的模块组成(目前,在 LAN 内;所以它不是一个大的,但尽管如此,它是分布式的)。我们正在寻求一种合理的方法来实现功能的基于角色的权限(以配置谁有权调用功能的哪个部分)。

目前,这是通过一个自定义数据库表来解决的,该表将用户名映射到他们被允许使用的对话元素的 GUI ID(不是我的想法,以防万一你想知道......)并且我们的模块之一具有“管理”功能设置这些值。我有一种感觉,但不太确定,直接写入这个表不是一个好方法,特别是对于并发写入('admin'模块的)和读取(虽然数据库事务应该提供并发处理......但是在这种情况下这是否足够?)。

所以我的想法将是一个中央服务(最好用 C# 编写,但 Java 也可以,如果它的框架为此提供更好的支持),所有模块都可以访问,设置和读取权限。然后,该服务可以防止并发问题。当然,在它的背后,它仍然会使用一个数据库来存储权限。

您如何看待这种方法,服务不会成为瓶颈吗?但这对我来说“感觉”是对的。我觉得不对的是从头开始做这件事,就像重新发明轮子一样。该服务是否类似于 (ASP).NET 提供的身份验证和授权子框架?甚至活动目录?但它的关注点似乎更粗粒度(文件、目录、打印机,而不是应用程序内的函数……)。你能告诉我你在这个话题上的经历吗?
提前谢谢了!

以下是我在搜索过程中发现的一些提示:
http://en.wikipedia.org/wiki/Role-based_access_control
使用 ADFS 和 WIF 存储基于角色的权限
设计基于权限的安全模型
最佳基于角色的访问控制 (RBAC)数据库模型

0 投票
1 回答
148 浏览

rbac - Xacml in tinyOS

I have to implement an rbac in mica motes. I've read that Xacml helps in implementation of rbac. But I searched tutorials and google and I'm not able to find anything relevant.Can some one please explain how it should be done or any lead to references.

Thanks

0 投票
2 回答
3280 浏览

mysql - Yii AuthManager 模式和类型

我对 Yii 的 AuthManager 和用于 DB 表的架构感到困惑。

  1. AuthItem表中的类型字段只能介于 0 和 2 之间(Role=2, Task=1, Operation=0)?
  2. 您能否使用本教程中使用的博客举例说明我可以找到存储在bizrule数据字段中的内容?
  3. userid字段必须是 varchar 吗?

此模式(对于 MySQL)会产生任何冲突吗?

提前致谢!

0 投票
1 回答
1041 浏览

mysql - mySQL 从一个表中选择,该表在另一个表中不存在,并且不是第三个表中的子表

我正在使用 Yii RBAC 来控制用户对我的应用程序的访问,它由三个 mySql 表组成;

authitem(RBAC 角色项)

authitemchild(属于其他角色的任何 RBAC 规则)

authitemassignment(为用户分配角色)

例如,我们可能有这样的表:

授权:

authitemchild

auithitemassignment

在上述场景中,id 为 1 的用户在 areaA 中具有完整的 CRUD 访问权限。我需要的是用户无权访问的所有角色的列表,我还需要考虑他们也有权访问的任何角色的子级。

我可以轻松获取用户无权访问的所有角色:

但这会返回:

而且因为所有 areaA* 角色都是 areaASuperUser 的孩子,所以我不希望它们返回。

任何建议或推动正确方向将不胜感激!

*编辑:

谢谢@SuVeRa,你的回答:

非常适合上面的示例,但是我刚刚扩展了应用程序以包含多个儿童级别,即

授权:

authitemchild

auithitemassignment

原来的答案会回来;

因为它过滤掉了父母和孩子,而不是孩子的孩子。我追求的结果(在第二个例子中)是:

***编辑2:

专门针对 Yii:

我对 Yii 做了更多的阅读,CAuthManager有许多有用的方法,包括hasItemChild()isAssigned()getItemChildren()等,它们可以帮助抓取我需要的数据

0 投票
1 回答
2520 浏览

php - 更简单的基于角色的访问控制 (RBAC) 方法?

我很难掌握基于角色的访问控制 (RBAC) 背后的代码。我正在尝试在 Laravel 框架中使用“捆绑包”,但它似乎只会让事情变得更加复杂。

我的特定应用程序需要三个角色。第一个也是最基本的角色只是让用户能够登录我的应用程序,管理他们的帐户,并保存“收藏夹”和“交易”。我需要的第二个角色是允许店主能够登录并创建帐户和交易。第三个角色基本上是管理员角色,因此我可以在需要时进入并删除不需要的内容。

只是简单地将一个 int 字段添加到名为“角色”之类的用户表中会不会有任何预期的问题?如果用户的角色为 0,则他们具有基本权限,无法访问站点的管理员和所有者区域;1 表示用户具有所有者角色等。每次发出请求时,我都会简单地检查用户的角色。

这会是一个合理、安全的解决方案,还是我可能会在使用这种方法时遇到问题?

0 投票
0 回答
119 浏览

permissions - 这是什么权限?(组+角色)

我开始需要对我的应用程序中的角色进行访问控制。

我对此了解不多,但我了解 vBulletin 的工作原理:

我认为我需要的是角色基础访问控制,但我不确定,因为我需要组来授予权限而不是单个用户(也许实现起来并不复杂)。

我在想的例子:

给定一个帖子:

所以基本上我不想确定 RBAC 是否是我需要的。

而且,将组成员身份存储在用户中会有什么好处,例如,最好有:ID NAME PASSWORD GROUPS (1, MyName, MyPassword, 1/2/3/4/5)并通过 PHP 或一个注册表为名为 的表中的每个组成员身份展开它permissions,例如:USERID, USERGROUP values (1, 1), (1, 2)

由于正式规范,也许应该是第二种方式,但我还没有在大学学习数据库 1。

非常感谢!

0 投票
1 回答
1269 浏览

yii - Yii 中的 RBAC,访客未授权

我试图在 Yii 中实现 RBAC(使用权限模块)。

当尝试授权未经身份验证的用户(访客)时,CWebUser调用CDbAuthManager

CDbAuthManager然后尝试获取用户的 authassignments

问题是,因为用户是来宾,$userIdnull,并且$assignments是一个空数组。因此,我不能授权来宾用户执行任何操作(除非声明 allowedActions())

我究竟做错了什么?

0 投票
2 回答
1165 浏览

roles - 如何在“基于角色的访问控制”模型上实现“用户可以删除自己的帖子”?

我已经阅读了一些关于基于角色的访问控制的文章,但是对于处理这种情况还不够清楚:如何实现“用户可以删除自己的帖子”?

对于普通的角色和权限,当用户做某事时,我可以检查用户是否拥有角​​色和权限,判断用户是否可以做。

但是对于“用户可以删除自己的帖子”,我必须检查帖子是否属于他。所以我必须硬编码一些东西,然后它就脱离了控制系统的控制。

我是否错过了什么以及如何正确地做到这一点?

0 投票
1 回答
1324 浏览

c++ - 基于角色的访问控制 C++ 库或示例

我正在编写一个应用程序,我想根据用户角色限制对某些行为/操作的访问。

我在网上搜索了一个实现这一点的 C++ 库——或者至少是关于如何“自己动手”的指南——但无济于事。有人知道这样的图书馆吗?如果不是,我将不胜感激有关如何最好地实现这样的库/框架的一些想法。

0 投票
1 回答
1452 浏览

php - Yii authManager 业务规则在哪里写?

我在我的项目中使用 Yii 的 authManager 来处理 RBAC。我对这个概念相当陌生。

我的问题是关于编写和存储业务规则。由于我使用的是 CDbAutManager,所有内容都存储在数据库中。这对于存储哪个用户具有哪个角色是有意义的,因为用户是动态增长的。但是,业务规则似乎也存储在那里。我不确定我是否理解。

我需要为“updateOwnPost”写一条规则。这不应该写在某个地方的 PHP 文件中,以便可以轻松移植项目吗?如果我用相同的代码启动一个新网站,我想保留规则而不是用户......

此外,这些规则有多复杂?我真的没有看到自己在数据库中编写 20 行规则......

我的问题有两个:

首先,一般来说,为什么要这样实现,正常的做事方式是什么?

其次,我可以开始了,我可以让我的业务规则成为对真实 PHP 文件的函数调用吗?如果是这样,怎么做?