问题标签 [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 回答
352 浏览

security - 授权模型:角色的上下文?

我目前正在尝试设计一个具有以下组件的授权模型:

权限 - 可以授予或拒绝用户/组的操作

角色 - 特权的集合;角色可以与用户或组相关联

安全对象 - 应用安全的实体

对象所有者 - 安全对象的所有者

状态 - 表示安全对象状态的属性

用户 - 服务的标准消费者;可以被拒绝或被授予访问权限

组 - 共享共同事物的用户集合;角色可以分配给组;权限可以分配给组

我的问题如下:有没有办法用我上面介绍的当前组件正确地模拟角色的上下文?

例如,假设我有当前的授权声明:

我可以将此语句分解为模型组件:

这个剖析没有归因的一件事是蒂姆是玛丽的朋友

是否有一个组件可以添加到这个模型中来捕获这个上下文(“玛丽”),或者有没有一种方法可以使用我预先存在的身份验证模型组件重新表示权限声明?最佳做法是什么?

0 投票
0 回答
48 浏览

c# - 根据角色更改 asp.net 应用程序的启动页面

我正在开发 asp.net web 应用程序我在应用程序中使用多个角色,问题是启动页面必须根据角色进行更改。例如,考虑我们有 3 个角色 role1、role2、role3,以及像 page1、page2、page3 这样的页面。现在,如果一个用户只有角色 1,他必须将第 1 页作为启动页面,如果用户有角色 1 和角色 2,那么他必须将第 2 页作为启动页面,我们如何才能实现它。

0 投票
0 回答
50 浏览

asp.net - Asp.Net MVC 5 立即反映角色变化

在 Asp.Net MVC 中,如果用户的角色在他已经登录的情况下发生了变化,那么直到用户注销并重新登录后才会真正反映出来。

有什么方法可以让角色变化立即反映出来?我正在使用默认的 Asp.Net 身份。

0 投票
1 回答
946 浏览

yii2 - Yii2 使用不同模型的访问规则

Yii2 基于角色的访问控制有问题。在通常的设置中,身份验证规则发生在当前用户的身份。就像在文档中写的一样。授权

就我而言,如何使用另一组模型设置授权(除了基本功能)。?这是我的设置。

auth_assignment[ item_name, user_id] 来自 rbac 迁移, user[ id] 来自 yii2 迁移。我创建了一个新表assignment[user_id相关userrec_id相关]。recognitionorganization

这就是场景。我有角色admin,,,organization-headmember如何检查organization-head, 或是否member属于他们自己的识别模块;不是来自其他组织负责人的其他模块?

我还使用了peixoto的上下文访问控制过滤器。

这是我的检查代码。RecognitionRule 检查是否存在与用户user_id身份相同的用户;并且account_id等于rec_id。第二个条件告诉他是否属于该组织

尽管如此,我还是不允许执行该操作。有什么线索吗?

0 投票
1 回答
5085 浏览

php - 基于分层角色/权限的访问

我想建立一个分层角色库访问控制。这是我当前的架构:
在此处输入图像描述

目前我有两种选择来构建这个系统:

  1. 将所有必需的权限附加到角色(非分层) 在此处输入图像描述

  2. 仅附加特殊的“级别”权限并继承具有较低级别的权限 在此处输入图像描述

有更好的方法还是仅取决于我的项目需求?

我倾向于选择分层的,只是因为简单。如果我这样做,有没有更好的方法来选择权限级别,也许使用二进制数?

选项 2 会有一些角色级别,我会有一些权限级别编号。因此,当我创建一个角色时,Full Administrator该角色将继承所有其他权限,因为那将是 4 级,而其他权限的数字将小于 4 级(或 4000)。

这是矫枉过正吗?

0 投票
1 回答
351 浏览

security - CouchDB 每个应用基于角色的安全性

无论如何,对于使用 couchDb 作为数据库后端的 javascript 应用程序,是否有基于角色的访问控制用户管理机制?根据我一直在研究的内容,当谈到安全性时,所有讨论都是关于为 couchDb 实例本身设置不同的用户,而不是在属于特定应用程序的一个数据库中拥有用户和角色信息。

此外,如果您有每个应用程序、数据库内的用户和角色信息,我想知道身份验证和基于角色的授权如何工作?是否有基于令牌的身份验证方式或什么?

0 投票
1 回答
14764 浏览

mysql - 如何在 AngularJS 中处理基于角色的授权?

我正在创建一个 Web 应用程序,它将满足用户的两个要求。注意:我是 AngularJS 作为 Web 开发平台的新手。

前端 - 1:它是一种搜索功能,用户可以根据关键字搜索和过滤器搜索特定文档和研究。这是使用 MySQL 实现的,用于使用 AngularJS 获取数据和显示。

前端 - 2:用户可以选择在 Web 应用程序上创建帐户。该帐户的目的是:

  1. 保存他们的搜索查询。
  2. 如果管理员将每个用户与特定角色相关联,那么这些用户将可以访问额外的选项,例如修改数据库中的文档以及上传新文档和其他页面的主机。

我的问题:

如何在 AngularJS 中处理基于角色的授权?我无法弄清楚如何创建一个涉及以下功能的框架: - 用户获得与他们关联的角色 - 阻止用户访问与这些角色无关的页面或功能

我已经阅读了几篇 SO 文章和教程,但每个教程都以作者说基于角色的授权应该在服务器端处理,我理解为什么这是真的。

如果有人可以向我指出在 AngularJS 的服务器端实现了基于角色的授权的教程或文章,那就太好了。

谢谢!

0 投票
1 回答
1175 浏览

jenkins - Jenkins:如何使用正则表达式根据名称控制项目?

对于每个应用程序,我们在 Jenkins 中创建一个 AppName.Dev 和 AppName.Rel 项目来构建 Development 和 Release 分支。现在我们希望只允许某些人修改/运行发布版本。

目前我们正在使用这个基于角色/文件夹的访问控制插件:https ://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

例如,我有一个名为 TE/TS.* 的角色/规则,因此域组 TS 中的每个人都可以完全访问 TE/TS 文件夹中的项目。这个文件夹里面有App1.Dev、App1.Rel和App2.Dev、App2.Rel等项目。

现在我怎样才能让 TS 中的每个人仍然可以完全访问 *.Dev 项目,而不是 *.Rel 项目,然后只有一个 TS_REL 组才能完全访问 *.Rel 项目。

另一种方法是将 .*Dev 项目分离到 TE/TS/Dev 文件夹中,将 *.Rel 项目分离到 TE/TS/Rel 文件夹中。

0 投票
0 回答
108 浏览

c# - 带有社交组件的 ASP.NET WebApi 的细粒度访问控制

我有一个使用自定义构建的 OAuth2 服务器的 .NET WebApi 应用程序。我的 API 需要具有一定程度的社交集成,其中某些用户可以看到某些其他用户的数据,这提出了细粒度授权和访问控制的概念。

例子:

每个用户都有一个个人资料,当两个用户成为朋友时,他们可以看到彼此的个人资料,或者一个用户可以请求访问另一个用户数据的特定部分。我基本上需要检查每个请求的访问权限并检查请求的操作/资源和路由值(如特定的 userId 或 profileId)。

我已经查看了很多授权实践(并且已经在使用一些基本的声明、角色)并且想知道是否已经有一个好的框架来完成这种非常细粒度和动态的访问控制——主要集中在社会整合上,或者如果有一个很好的起点,因为我迷失了 .NET 中的标准声明授权。谢谢!

0 投票
1 回答
5769 浏览

sonarqube - 如何使用 SonarQube 进行基于角色的访问控制?

我是 SonarQube 的新手,正在尝试设置适当的访问控制,要求如下:

  1. 我们有几个项目领域,每个领域都应该有人能够管理他们的领域,比如创建新项目和管理董事会,不确定具体是什么。这有点像项目区域管理员。
  2. 少数管理员可以做任何事情。
  3. 集成到 AD

几个问题:

  1. 在像这个链接这样的几个地方:http: //www.sonarsource.com/products/features/security/,我看到了这个基于角色的方法,但是我找不到这些默认角色,“SonarSource 产品带有三个项目-特定角色——项目管理员、项目用户和项目代码查看者”在系统中的任何位置。现在,我正在使用我想没有许可证的社区版。有没有更详细的文件?
  2. 我有点理解默认的全局权限和项目权限。在我的情况下,我是否应该在 AD 中创建三个组,即 sonar-administrators、sonar-project-administrators、sonar-users 以映射到默认组?
  3. 我注意到以下情况:现在我没有上述 AD 组,当我集成到 AD 时,我可以使用我的域 id/密码登录,但是一旦注销/登录,我添加到本地用户的组信息就消失了。我想它与 AD 同步。那么要使用 AD,我必须在 AD 中创建这些组吗?

吉荣