问题标签 [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.
access-control - 访问控制 - RBAC 是否值得在分层用户管理系统中实施?
最近我一直在考虑在我的应用程序中使用的最佳访问控制模型。我一直在阅读 RBAC 并且角色概念很好(特别是如果您拥有大量不同的权限),但是,我不确定它对分层用户管理的适用性如何,如下所示:
每个用户都属于一个或多个组。组被组织成一棵树(如目录结构)。组和用户都可以被分配权限(或角色,如果我们在谈论 RBAC)并且可能应该有某种继承(即用户和组继承他们所属组的权限)和覆盖功能。群组本身的目的不仅仅是权限管理——它们在应用程序中还有其他用途。
我想如果在没有角色的情况下使用权限(“角色”是 RBAC 术语中的权限集合),上述所有内容对于进一步设计和实施都不会造成太大问题,因为权限非常精细,而角色更加单一。在组/用户级别实现权限继承/覆盖不会太困难。对角色做同样的事情可能会更棘手,但另一方面,角色对于普通用户来说更容易理解。
现在,我自己更倾向于“仅限权限”模型,因为:
- 该应用程序可能不会拥有超过 30 种不同的权限;
- 组本身可用于设置权限,这已经提供了角色的优点之一 - 易于对多个用户进行权限管理
- 这个概念看起来很清晰,因此很容易实现
但是,如果向我展示了一个逻辑且易于理解的基于角色的模型,它比“仅权限”模型具有优势,我会认真考虑一下。是否有任何定义明确的 RBAC 模型(论文、实现等)已经可用,可以应用/适应上述要求(我已经搜索了一段时间,但我发现的那些要么限制性太强,要么没有'不考虑分级用户管理)?您对此事的总体看法是什么?在这种情况下,RBAC 值得吗?
sql - 在角色表中的用户表中包含管理员角色
有没有办法像这样查询用户表:
和 user_roles 表:
假设 id = 1 的角色是管理员角色,生成如下所示的结果:
我认为可以使用嵌套的 SELECT 语句来完成,但我想知道使用 JOIN 是否可行。
编辑:管理员列值不必是 Y 或 N,它可以是管理员角色 id (1) 或 NULL 或任何让我知道用户是否是管理员的值
permissions - 权限的可视化建模
我已经养成了为我创建的软件手绘各种图表的习惯。我的软件主要用于网络。我将 ER 图表用于数据逻辑(MVC 模型),并使用个人发明的图表样式进行交互——哪些页面导致哪些页面以及它们做什么,即 MVC 的视图和控制器。这使我能够简化重要概念,消除不一致并突出需要进一步调查的问题领域。
现在,我开始研究一个需要相当复杂的权限系统的应用程序。不是真的“大”——只是复杂——有几个权限“维度”,其中一些权限需要动态创建,有些是静态的。
我发现自己希望有一些简单的方法来绘制权限系统图,这样我就可以以清晰的形式将想法从脑海中浮现出来,并确保没有不一致的地方。因此我的问题是:
有没有人在可视图中看到/使用过任何建模权限的方法?
java - Java EE 6 中的编程身份验证
是否可以在 Java EE 6 中以编程方式对用户进行身份验证?
让我更详细地解释一下:
我有一个现有的带有 Servlets 和休眠的 Java SE 项目;我手动管理所有身份验证和访问控制:
我在这个项目中集成了 J2ee/jpa/servlet 3/...(Glassfish 3)。
我见过这样的注释:
但是如何在 login() 中手动声明我的用户是管理员和/或查看者角色?
asp.net - 非 RBAC 用户角色和权限系统:具有属性的角色
我们目前正在我们的 Web 应用程序 (ASP.NET) 中设计一个用户角色和权限系统,似乎我们有几个案例不适合经典的基于角色的访问控制 (RBAC)。我将发布几个问题,每个问题都针对特定案例。这是我的第二个问题(第一个问题在这里:非 RBAC 用户角色和权限系统:检查用户的城市)。
我们有以下情况:我们需要在我们的 Web 应用程序中实现一个Manager 角色。但是,经理可以属于一个或多个公司(在我们为其创建此 Web 应用程序的一大群公司中)。比如说,可以有“A 公司和 B 公司的经理”、“C 公司的经理”等。
根据经理所属的公司,他可以访问某些操作:例如,他只能与他所属公司的客户进行通信。即“A、B公司经理”只能与A、B公司的客户联系,不能与C公司的客户联系。他还可以查看A、B公司的客户详情页面,不能查看C公司的客户详情页面等。 .
此案似乎属于 RBAC。然而,事实并非如此。我们需要创建一个拥有Companies 属性的ManagerRole 类——也就是说,这不仅仅是一个作为权限集合的角色(如在经典 RBAC 中),而是一个具有属性的角色!
这只是具有属性的角色的一个示例。还会有其他角色:例如,管理员角色也将属于许多公司,并且还将具有其他自定义属性。
这意味着我们将有一个层次结构或角色类:
我们调查了纯 RBAC 及其在几个系统中的实现,发现没有具有层次结构或角色的系统,每个系统都有自定义属性。在 RBAC 中,角色只是权限的集合。
我们可以使用具有属性的权限来模拟我们的案例,例如 ManagerPermission、AdministratorPermission,但这有很多缺点,主要是我们将无法直接将“公司 A 和 B 的经理”之类的角色分配给用户,但是必须为公司 A 和 B 创建一个包含 ManagerPermission 的角色……此外,从语言的角度来看,“经理”似乎是一个“角色”(公司中的职位)而不是“权限”。
将不胜感激有关此主题的任何想法以及该领域的任何经验!
谢谢你。
c# - 基于角色的访问控制 (RBAC) - .Net 组件
在我的工作中,我们试图将应用程序场的身份验证与 Windows Identity Fundation (WIF) 或基于成员资格提供程序的一些自定义组件合并。
有了这个,我们需要为开发人员(和最终用户)提供一些组件,这些组件可以帮助我们按角色管理视图的逻辑(RBAC - 基于角色的访问控制)。我什么也找不到。
这就是想法:用户“管理员”可以查看“主页”和“管理”页面。好吧,就像开发人员一样,我不想编写代码来进行此分析。为此,我希望使用一个封装了这种复杂性的组件。管理应用程序中的事件或操作的相同想法
你知道类似的事情吗?像 Role Provider 这样的东西,但像一个通用组件,可以帮助我(比如 Moodle 或 Joomla 中的分析)。
只是为了记录,英语不是我的惯用语言,我还在学习它。
php - 树形结构的 RBAC 访问控制
我在通常存储在 LDAP 中但这次是在 MySQL 中的树结构(组织)中实现基于角色的访问控制。我的部分要求是让人们可以访问树的一部分。在 LDAP 中,我会使用 ACI 来过滤树的一部分。我只是不确定在 PHP/MySQL 中执行此操作的最佳方法。
在 LAMP 应用程序中创建权限以应用于对象集合以及层次结构中的单个实体的最佳方式是什么?
提前致谢,
php - 在php中实现集合论操作
如何在纯php中实现集合论运算?
security - 用户是否通常实现为具有登录能力的角色?
在 PostgreSQL 的最新版本中,用户被实现为可以登录的角色。这在 RBAC 实现中是否常见,即用户只是另一个能够登录(或类似)的角色?到目前为止,我读过的一些内容并没有暗示……但也许我读错了,或者只是没有读到正确的东西。