问题标签 [role-based-access-control]

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 回答
1616 浏览

cakephp - 基于角色的特定数据访问的 CakePHP 访问分配

我的项目要求是这样的:

在顶部,将有管理员,他将拥有所有 d 访问权限,第一级

在管理员下,将有部门负责人,除了创建部门负责人外,他们将拥有所有访问权限

在部门主管下,将有其他成员,他们将管理分配给他们的部门明智数据。

现在,所有不同的部门负责人都将拥有自己的信息和成员,并且所有部门负责人/成员都可以访问他们正在输入/管理的自己的特定记录。

现在,有了 CakePHP 的 ACL 组件,我可以划分角色和他们的访问级别,但是所有部门负责人都可以看到其他部门负责人的信息,因为他们将具有相同的访问权限,所有其他成员可以在 diff 上看到其他成员的信息部门,因为他们将具有相同级别的访问权限。

我的项目复杂性在于 - 尽管它们具有与其他人相同的级别/角色分配,但它们应该仅对其分配或创建的信息/数据可见。

谁能建议我最合适的选择,使用 CakePHP 已经可用的插件来管理所有这些事情。

我可以通过自定义默认 ACL 组件来工作,但这将花费比预期更多的时间。

任何更好的想法/建议将不胜感激!

0 投票
1 回答
515 浏览

access-control - RBAC system with two parameters

I’m looking for an example or best practices for a RBAC system with two parameters. Rather than simply having a user associated with a role, and that role associated with a group of permissions; a user can be associated with a role “for a specific project,” and the user can then have the permissions of that role for that project only (or for other projects that the user holds that role for). A user can have a specific role on one project, and a different role on another project; the permissions granted to a role are consistent for every project; and a user’s permissions for a project are based on what role that user has on the project.

(If it makes any difference, I’m trying to limit page access where the page content is developed via a URL query parameter that sets the project id through a GET statement.)

ABAC looks promising, but I’m having trouble wrapping my head around it. My understanding is that a user’s attribute dictates whether the user has the role (and/or permissions). In my case it seems like I might consider the project to be the “user,” and my user as an attribute of the project (true, if my user holds the role for that project or false, if not)

0 投票
0 回答
798 浏览

dynamic - 动态生成 RBAC 角色和权限

我正在寻找一种按需生成新 RBAC 角色的方法。我正在开发一个具有两个主要参数的 RBAC 系统。而不是简单地让一个用户与一个角色相关联,而该角色与一组权限相关联;用户可以与“特定项目”的角色相关联,然后用户可以仅对该项目(或用户为其拥有该角色的其他项目)拥有该角色的权限。用户可以在一个项目中具有特定角色,而在另一个项目中具有不同角色;授予角色的权限对于每个项目都是一致的;用户对项目的权限取决于用户在项目中的角色。

针对具有两个参数的RBAC系统lmontrieux建议为不同的项目使用不同的角色。例如,如果在项目“P1”和“P2”中使用角色“admin”,则创建一个角色“P1:admin”和另一个角色“P2:admin”。这似乎是要走的路,但我不想创建一组静态的角色。首先,会有几个项目,我不应该写几组除了项目ID之外在其他方面都相同的权限。其次,更重要的是,项目“P3”、“P4”和“P5”还不存在,当它们存在时,它们将由用户创建。由于我无法为数量不可预测的未来项目创建基于角色的静态权限,因此我需要开发一种基于通用标准生成项目特定角色的方法。

我认为这是一个很好的使用对象和类的应用程序,但我不确定如何构建它。

0 投票
1 回答
216 浏览

authentication - Yii 授权分配 - Yii 从哪里获得 ID?

我正在尝试实现我的第一个 RBAC 系统:

我要讲这部分:

在官方文档中,他们有一个用户名示例:

但是,我确实发现,就我而言,ID 会起作用。

为什么 ID 有效,而不是用户名?我推测这是因为在某个地方,我们已经覆盖getId()UserIdentity.

但是,在继续关注文档和Yii代码之后,我注意到该assign()方法不接受 的子级CUserIdentity,而是使用IWebUser接口。

然后我去CWebUser,我注意到该getId()方法具有以下内容:

我一直在关注这个,我最终得到了一个$_SESSION[$key],现在我很困惑。

那是什么身份证?我认为是我的用户数据库表的主键。

但是 CWebUser 如何知道我的用户数据库表(称为tbl_site_user)顺便说一句。

我拥有的唯一配置与用户相关,授权是这样的,在我的主配置文件中:

Yii 在$auth->assign 第二个参数中是从哪里得到 ID 的?

0 投票
3 回答
637 浏览

angularjs - 使用 Angularjs 和 mvc5 (.net) 处理访问控制的正确方法是什么?

我目前正在为需要基于角色的访问控制逻辑的应用程序学习 Angularjs。在某些情况下,需要使用逻辑来根据您的用户角色限制对某些页面的访问。在其他情况下,我必须根据用户角色限制对页面部分或表单上某些字段的访问。如果 Angularjs 是一种客户端方法,那么如果我不希望客户端访问他们不应该访问的项目,这似乎会出现问题。

在不干扰 Angularjs 的情况下,从服务器处理这些场景的当前方法是什么?

我知道我可以访问 razor 来限制页面部分的访问,但是这会给 Angularjs 带来什么问题,混合 razor 和 Angular 视图语法是否是个好主意?

在我过渡到 Angularjs 的过程中,我在思考如何处理这个问题时遇到了问题。

0 投票
2 回答
5625 浏览

php - Yii Framework 2.0 Role Based Access Control RBAC

Learning Yii Framework 2.0 I have tried to use Role Bases Access Control from the documentation of Yii 2.0. But the guide documentation is too short to me that I cannot complete this learning. I have added the following code to my config file.

I have create the database tables with the following sql script.

I have built the authentication data with the following.

When access to this actionInit() method via this controller, the above database tables have been filled with the data based on the above code. Furthermore, in my user's table I have two users, admin user has the id number 1 and author user has the id number 2. I use the following code to create a user.

With the above code all new inserted users will be author. With the if-statements below I can grant or deny access.

So far so good. Everything works fine. The scenario of the above code is that normal author can create post, but cannot update post. Admin can update post and can do everything author can do. Now I want normal author to be able to update his/her own post. I don't know how to go further from here. I have followed the Yii Guide Documentation/Secury/Authorization paragraph Role based access control (RBAC). I have never used Yii 1. That's why I could not figure out with such short explanation of Yii 2.0 documentation RBAC.

0 投票
1 回答
87 浏览

tfs - 是否可以通过文件扩展名限制用户/角色对 TFS 的访问?

我的搜索出现了许多无用的结果,所以我希望这里的人可能会立即知道。我想配置 Team Foundation Server,以便团队的某些成员(前端人员)只能对 .cshtml、.css、.js 文件(等)具有写入权限,而后端开发人员可以对任何内容具有写入权限. 这可能吗?

0 投票
1 回答
558 浏览

sql - 这是访问控制数据库的糟糕设计吗?

我是一个简单的 PHP 和 codeigniter 系统,需要一种简单但更好的方法来管理用户及其对系统的访问。因此,经过一番搜索,我发现了有关访问控制的有趣主题,但我仍然怀疑这是否是一个好方法。

角色和用户权限表是因为某些用户应该具有未由任何角色定义的不同访问权限。并且 user_permission 将始终优先于 role_permission。例如,一个用户的角色有权访问用户排除,但管理员创建了一个 user_perm 拒绝用户排除,因此该特定用户将无法删除用户。

任何帮助将不胜感激。

0 投票
1 回答
1758 浏览

authentication - Elasticsearch access control based on field value

I am currently investigating the ELK (Elasticsearch, Logstash, Kibana) stack for centralized log file analysis.

The plan is to store logs of multiple applications in the same Elasticsearch cluster using logstash and day-based indexes.

All documents contain a field called application, e.g."application": "superapp".

Now we are looking for a way to implement access control like this:

A) Superuser: is able to see log entries of all applications.

B) Developer: can only see log entries of the applications he is allowed to. For example the dev team for application "superapp" should only be able to see the entries for this application.

To wrap it up: we need access control based on the value in the field application.

While reading the documentation for Elastisearch and Shield I could not find an obvious way to do it.

Any ideas how we could realize this in a way that would also work with Kibana 3 and 4?

My first idea was to use aliases which are being automatically assigned to documents using index templates. I am wondering if this is the right direction.

0 投票
1 回答
6981 浏览

angularjs - Mean stack web app的基于角色的访问控制

我正在开发一个平均堆栈 Web 应用程序,其中包含基于登录用户角色的差异访问。几乎没有不同的角色,例如管理员政府志愿者等。

1.如何根据角色管理前端?

目前我正在为每个角色设置全局标志,例如 isAdmin、isVolunteer、isGovt 等,并根据它们的值,我可以使用显示不同的 UIdata-ng-if = "Global.isAdmin"

这种做法是否正确。如果不是,请建议处理 UI 的正确方法。

2. 如果用户没有授权,如何管理后端和重定向路由?

目前我正在尝试使用angular-permissionrbac但仍然无法在我的应用程序中成功使用它们。谁能告诉我平均堆栈网络应用程序基于角色的访问控制的最佳实践。

在尝试使用angular-permission时,我无法将创建的角色链接到路由文件。

这是角色模块。

如何在路由文件中链接上面配置的角色