问题标签 [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 应用程序中,我希望我的授权层次结构和业务规则用代码编写,我希望我的用户、角色和权限存储在数据库中。这将我的业务逻辑(应该是代码)与其应该使用的信息(应该是数据)分开。Yii 似乎不支持这一点。
在 Yii 中,您可以选择将业务逻辑放入文件(CPhpAuthManager)或放入数据库(CdbAuthManager)。无论哪种方式,您都将业务逻辑视为数据;Yii 实际上会将您的业务逻辑作为字符串检索,然后通过 an 运行它eval
,这似乎是一种糟糕的方法。
这是什么原因?
我怎样才能达到我想要的结果?
rbac - 什么是 XACML 配置文件?
我是 XACML(可扩展访问控制标记语言)的新手,我有点困惑。我不明白个人资料是什么。例如 RBAC 或 SAML 配置文件。
它们之间有什么区别?结构和元素不总是一样的吗?
谢谢你的帮助
php - Yii accessRules 表达式不起作用
在我的控制器中,我有
但由于某种原因,deleteComment 上的表达式总是给我一个 403 错误(未经授权)。即使我已经测试了那个表达并且得到了真实。甚至把'表达式'=>'return true;' 不起作用。:( 我完全糊涂了......有什么想法吗?谢谢,布拉德(:
codeigniter - 复杂的 RBAC Codeigniter 库(用于细粒度的用户权限和基于组的限制)
我正在进行一个项目,该项目需要某种与身份验证集成的 RBAC,但具有高级功能(根据角色/组设置“上限”或“用户限制”)。SaaS GitHub、Basecamp 等具有付费和免费计划的网站就是一个很好的例子。
我已经测试过:
离子认证 - http://github.com/benedmunds/CodeIgniter-Ion-Auth
Wolf Auth - http://github.com/Vheissu/Wolfauth---A-Codeigniter-Auth-Library
烫发火花 - http://getsparks.org/packages/perm/versions/HEAD/show
Codeigniter-RBAC - https://github.com/pdiddy/CodeIgniter-RBAC
和其他一些(所有人:篝火)。其中一些只有身份验证功能,一些缺少身份验证但提供 RBAC。这些都没有使用或提及设置用户限制的可能性。
我自己开始开发一个类似的库(尽量不破坏 Ion Auth 函数命名,因为我要从那里搬出去),但是,考虑到我只是完成了数据库模式的规划并在迁移中实现它,我认为它更好使用已准备好并经过测试(如果存在)的东西,而不是重新发明轮子。有谁知道一个图书馆来完成这个特定的任务?
我正在使用 CI:2.1.0 + HMVC,考虑为此特定目的添加 DataMapper 或 RedBean。
django - django 守护者、权限和将 django auth 组扩展到“组织”模型
django Guardian https://github.com/lukaszb/django-guardian是一个写得很好的对象级权限应用程序;我实际上已经在各种 django 项目中阅读并使用了许多其他 django 对象级权限应用程序。
在我最近正在进行的一个项目中,我决定使用 django Guardian,但我有一个模型设计问题,涉及两种可能方法的优缺点以及它们各自对 sql 查询性能的影响:-
使用
django.contrib.auth.models.Group
并将其扩展到我的自定义组织应用程序的模型;或者改为使用
django.contrib.auth.models.User
并为我的组织应用程序中的每个组织类型创建一个 m2m 字段。
方法#1
在这种方法中,当用户第一次添加到组(django 组)时,组对象被创建并分配给这 3 个类中的一个,如果该组对象不属于它添加的类进入。
这意味着每个 StudentClass 对象sc_A
等sc_B
可能包含很多组。
这意味着我要确定特定用户(例如myuser
)是否属于特定组织,我必须查询该用户所属的groups_myuser_belongto = myuser.groups
所有组,然后通过查询关联到的所有组我感兴趣的组织,groups_studentclass = sc_A.groups.all()
由于我现在有 2 个需要比较的列表,我可以这样做set(groups_myuser_belongto) && set(groups_studentclass)
,这将返回一个新集合,其中可能包含 1 个或多个相交的组。如果有 1 个或多个组,myuser
则确实是 的成员sc_A
。
因此,这种模型设计意味着我必须经历很多麻烦(和额外的查询)才能确定用户是否属于某个组织。
我使用 m2m 到组的原因是为了利用 django Guardian 提供的组级权限功能。
这样的模型设计实用吗?
还是我最好选择像这样的不同模型设计......
方法#2
显然,这种模型设计让我很容易检查用户对象是否属于特定组织。要确定用户john
是否是教学团队的一员,我需要做的maths_teachers
就是检查:
但是这个模型设计的含义是,当我将用户对象添加到组时(回想一下,我想使用 django Guardian 的组权限功能),我必须确保save()
调用将用户对象添加到“数学教师”组中在django.contrib.auth.models.Group
AND到我的自定义TeachingTeam
课程的“数学教师”对象中。这感觉不是很干,更不用说我必须以某种方式确保对两个模型的保存调用都在一个transaction
.
鉴于此用例/要求,是否有更好的方法来设计我的模型 - 使用 django 组,但提供一种“扩展”django 的本机组功能的方法(几乎就像我们如何使用“用户配置文件应用程序”扩展 django 的用户模型一样) ?
c# - MVC .NET - 是否有允许基于权限的系统的安全框架
我是 MVC .Net 的新手。我想实现一个 RBAC 系统。我有某些成员可以执行的某些操作/权限。
是否有允许我这样做的安全框架?
更多信息
我正在寻找类似于论坛的东西 - 用户可以发布新帖子,回复他们等。另一方面,版主应该有权修改帖子,禁止用户等以及那些提供给普通用户的权限。
我读到.NET 框架提供了一个成员表。我对此没有太多了解,但据我了解,它只是将用户分组为某些成员。它没有权限的概念。
我是否必须在 Membership 表的顶部添加另一层(似乎我正在重新发明轮子),或者是否有一个框架已经这样做了。
java - 访问安全域时出现 EJBAccessException
我正在尝试使用 EJB 运行一个简单的 RBAC 示例,但是当客户端从具有 SecurityDomain 的类中调用方法时,我得到: javax.ejb.EJBAccessException: JBAS013323: Invalid User.
这是我的设置:
- 服务器项目
- EJB 3.1
- JBoss AS 7.1
- Picketbox(下载附带的 3 个 jar 文件)
客户端是一个简单的java项目
我以后要保护的服务器项目中的类如下所示:
在 META-INF 的 jboss-ejb3.xml 中,我有:
我使用这个文件是因为我无法导入 org.jboss.ejb3.annotation.SecurityDomain 注释。(也许我有错误的依赖关系?)
在 jboss-as-7.1.0.Final\standalone\configuration 的standalone-full.xml 中,我有:
无论我是否尝试在客户端内进行身份验证,都会发生异常
或者,如果我不对他进行身份验证(因为:name="unauthenticatedIdentity" value="guest"),那么就使用客户应该收到的来宾角色。另一件事是,即使我提供了错误的凭据,似乎也不会抛出来自 SecurityClient 的 LoginException。在此之后,我对 SomeBean 类进行正常查找并将其转换为 SomeRemote。调用 unsecuredMethod(..) 时会发生异常。我对两者都进行了尝试,给来宾用户一个角色表中的角色,而没有。
在客户端项目中,除了使用 SecurityClient 和查找之外,我没有做任何与 rbac 或 ejb 相关的事情,我希望这是正确的。
也许有一些很好的教程可以解释一切。我可能会遇到问题,因为我的解决方案基于 Jboss AS 6 教程。
Edit: After searching the internet for this exception for hours I found a hint in a book that says that if jboss cannot find the database tables used for authentication you will always get the message: "Invalid User". So probably i have a problem with my data source configuration.
php - Yii 框架:CPhpAuthManager 错误
我尝试使用本 指南 制作 RBAC,到目前为止,我让它没有错误地工作,但我现在卡住了几个小时,因为我的模型中的规则不起作用。我尝试使用以下代码测试读者角色:
因此,在我登录后,应该会出现这条小消息,但不知何故不会。例如,当我登录并尝试转到我的模型索引时,我可以看到注册用户,它告诉我我没有权限,甚至认为我这样做了:
欢迎任何想法,并告诉我是否需要显示更多代码。好的回到思考。
database - 树系统中基于角色的访问控制
我试图找出为结构为树系统的用户权限系统创建数据库的最佳方法。
(用于说明目的)我有三个级别的控制:1
物业组、2
物业、3
建筑。一个属性组有几个属性,一个属性有几个建筑物。
我想在每个级别上设置管理。
aPropGroupAdmin
可以查看和编辑设置属性组内的所有属性,以及里面的建筑物。
aPropAdmin
只能查看设置的属性和其中的建筑物
和一个BldngAdmin
只能查看设置的建筑物
我设想它的工作方式是用户 Bobby 是一个属性组 ID 为 102 的 PropGroupAdmin。这将转化为我可以从视图中读取的一系列特定权限。
我的问题是如何设置 GroupPrivileges 表以能够继承(如果这是正确的话)层次结构?本质上允许我创建一个视图,我可以阅读该视图以查看用户是否具有执行任务的正确权限。
我创建了一个小图表,说明我想象它会如何工作。
我知道这不会这样工作,我只是想弄清楚热以进行更改以获得类似的结果。
php - RBAC 推荐的 Role->Task->Operation 方法是什么
我开始在 Yii 中使用 srbac。
可用选项:创建角色、任务和操作,然后分配:操作到任务、任务到角色。
我的问题是:我需要为每个操作创建一个任务吗?因为我想将 1 个操作分配给最低用户级别,将 4 个操作分配给超级管理员。
希望我很清楚,丹尼