问题标签 [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 投票
2 回答
3102 浏览

django - Django 组和权限。扩展组以拥有 FK?

我正在开发一种产品,该产品允许不同的学校在线管理他们的内容。

其中一部分涉及设置我自己编写的基于角色的访问控制逻辑。本质上,每所学校都有自己的一组角色,这些角色拥有自己的一组权限。该软件的用户在任何给定时间都可能属于具有不同角色的多所学校。

由于各种原因,我想放弃这个,而是使用 Django 的组和权限以及像django-guardian这样的库。我面临的问题是我应该如何扩展 Groups 模型,以便我可以为每个新学校包含一个外键,并且仍然能够使用 Django 中的辅助方法以及 django-guardian 等库。

我想出的一种可能的方法是简单地根据事件名称创建组,例如“学校 1 - 管理员”、“学校 1 - 教师”、“学校 2 - 管理员”、“学校 2 - 教师”,并根据这个代替。我不应该这样做有充分的理由吗?

0 投票
1 回答
201 浏览

php - acl 实现 - 哪种方式更高效:拒绝所有人访问?

我正在尝试实现一个 ACL,我希望您能对哪种方法是最好的(更高性能的)方法提出意见:

是拒绝所有人访问并根据每个用户授予权限更好,还是默认授予所有人访问权限并删除权限更好。

尝试更具体一点,假设我有 3 个用户:SuperAdmin、ClientAdmin、BasicMember。

ClientAdmin管理员拥有与SuperAdmin 几乎相同的权限,例如查看系统中注册的每个用户,但他无法进行任何更改,只能“读取”。

此时,我创建了一个函数,其中列出了用户的所有权限,并在每个资源中检查 currentUserRole 和授权,如下所示:

所以..我想知道你是否最好检查一下:如果他有许可,showAction!或者如果他没有权限,hideAction。(例如:对于刚刚对其他用户具有读取权限的 ClientAdmin,我应该隐藏“编辑”按钮,还是总是隐藏更好,如果他没有权限,则显示!

0 投票
1 回答
1381 浏览

authentication - yii 中的 RBAC 运气不好

我正在尝试按照 yii 上的各种在线教程和文档来学习 RBAC,最后以类似下面的内容结束,我遗漏了一些东西,但我不知道是什么。我学习了两次理论和教程,但在实际实现方面仍然很困难,所以最后我决定向 SO 社区寻求帮助。我到现在所做的正好在下面

现在,当我登录并尝试使用它访问控制器时,user1它会显示“缺少某些东西”,但我已经为用户分配了相同的角色。我到底想念什么。

这就是我所做的正是我缺少的部分我不知道我几乎无法做到这一点。

感谢大家宝贵的时间

0 投票
3 回答
4507 浏览

authentication - Yii 基于角色的访问,管理自己的帖子

我用谷歌搜索,阅读教程,博客并进行了很多实验。所以我能够定义对控制器操作的基于角色的访问。一切正常。我想问的是。如何编写规则来显示、编辑和删除用户自己的帖子?

默认情况下,它显示所有帖子。但是,我们可以将数据提供者标准设置为显示自己的帖子。但是我怎样才能控制CRUD呢?请帮助我。我的代码如下。

对于帖子显示:

0 投票
1 回答
5636 浏览

json - 使用 REST (HTTP) 进行基于角色的访问控制?

我正在创建一个带有 JavaScript 客户端的系统,它将通过 REST (HTTP)[JSON] 与服务器通信。

我正在使用基于角色的访问控制来管理呼叫。

示例:[显式 URL 将保持不变]

  • 匿名 -> 请求\
  • 服务器 -> 登录表单的路由:\login\
  • 用户(现在有 cookie!)-> 请求\
    • if (user->role == "manager") return "\manager-homepage\";
    • else return "\homepage\";

由于 REST 是无状态的,我将如何管理这个用例?

我是否在每个请求中都发送 cookie,返回的 HTTP 状态码会告诉 JS 路由到哪里?

[这将是相当低效的 + 对 MITM 攻击开放]

0 投票
2 回答
1947 浏览

php - PHP中的分层RBAC实现?

你有什么建议?我检查了 NIST RBAC PHP API 0.65,但它似乎不支持层次结构。

本质上,我希望用户拥有子用户,而子用户将拥有角色并且只能访问其父级可以访问的内容。这似乎非常适合分层 RBAC 方案。

谢谢,

约翰

0 投票
1 回答
224 浏览

language-agnostic - 基于角色的访问控制系统中是否存在组?

我了解在基于角色的访问控制系统 (RBAC) 中,组织内的角色由角色表示。然后,每个角色都包含不同的任务(访问权限)以在应用程序中执行操作。然后根据其工作职责为组织中的每个用户分配一个或多个角色。

我不明白的是 RBAC 中是否存在组。我目前正在设计一个可以为用户分配一个或多个角色的系统。然后可以将用户分为 1 个或多个组(例如,程序员、12 楼的人、穿着金属 T 恤的人、国际象棋俱乐部的成员等),但这些组不包含任何角色或访问权限。

RBAC 中是否存在组?如果是这样,组是否应该包含由组成员继承的权限和角色?

0 投票
4 回答
4043 浏览

php - 在 Yii Rbac 扩展权限中为用户分配一个角色从管理员创建一个用户

我已经按照大多数人的建议安装了权限,它很容易实现基于角色的访问控制。但我遇到了一个问题..

我需要为用户分配一个来自管理员的角色,他可以更改他们的角色..等等。

由于权限不会为我无法插入其中的表创建模型..因此没有文档,怎么做...

0 投票
1 回答
258 浏览

php - 防止访问控制库中的无限重定向

我正在开发一个名为PHP-Bouncer的开源基于角色的 PHP 访问控制库。PHP-Bouncer 允许用户定义角色列表,每个角色提供访问哪些页面,并且每个角色还可以定义覆盖其他页面的页面列表(因此转到被覆盖的页面会将您重定向到覆盖页面) . 这是一个如何工作的示例(来自文档中的访问管理示例):

这是我遇到的问题:在您在上面看到的 manageAccess 函数中,只要角色定义得当,并且所有用户都可以访问 fail.php(或者 fail.php 没有实现 $bouncer 对象),一切都会运行良好。一旦有人创建了一个具有内在冲突的角色(例如用自身覆盖页面)或未能让所有用户访问失败页面,manageAccess 函数就会导致无限循环。由于这很糟糕,我想修复它。但是,我不确定在防止无限循环的同时,允许一些重定向的最佳方法是什么(重定向最多两次或三次可能是理想的行为是可行的)。这是 manageAccess 函数:

有什么建议么?

0 投票
0 回答
1156 浏览

yii - 带有“权限”扩展的 Yii RBAC 实现

我正在学习 Yii 框架,我也在创建一个示例应用程序。

在我的应用程序中,我有三个用户角色

  • 超级管理员
  • 作者
  • 和注册用户

我希望作者对文章进行 CRUD 操作。

我用 yii 的 RController 扩展了我所有的控制器,并将以下代码添加到过滤器中。

根据 Yii 文档,据我了解,Yii 应该为我做自动过滤吗?但即使我使用超级管理员帐户登录,它也会显示“错误 403 您无权执行此操作。”