问题标签 [security-roles]

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

asp.net - 处理嵌套组权限(ASP.NET 角色提供程序)

我们有一个安全模块,它基于组/角色成员资格,控制对 ASP.Net 中资源的权限。我已经构建了一个自定义 ASP.Net 角色提供程序,它可以查询 Active Directory 的组成员身份,并且由该模块使用。

对于每个请求,安全检查的工作方式如下(出于性能原因在某些地方使用缓存,但不包括在此列表中):

  1. 查询 AD 以获取用户组成员身份列表
  2. 查询数据库以获取有权访问所请求资源的用户和组的列表
  3. 将 AD 的结果与数据库的结果进行比较。如果用户明确拥有权限,或者用户所在的组拥有权限,则允许访问,否则不允许。

当我们有嵌套组时,问题就出现了。假设我们有两个组:ParentGroupChildGroup,其中ChildGroup是 Active Directory 中 ParentGroup 的成员,我们的用户是ChildGroup的成员。根据上面的逻辑,如果我们让ChildGroup访问资源,那么用户也可以访问该资源。

现在逻辑上(无论如何对我来说)如果我们让ParentGroup访问资源,那么它的所有成员,以及递归获取的任何子组及其成员,也应该能够访问所述资源。但是相反,由于我的逻辑工作方式,他们无法访问资源。上面列表中的第 1 步没有看到ParentGroup它只看到了ChildGroup,第 2 步只看到了 ParentGroup而没有看到ChildGroup

所以问题是,为了让它发挥作用,我应该如何“逻辑地”描述它,我应该在哪里解决问题,是否有一些方法另一种更好?

0 投票
1 回答
792 浏览

asp.net - 如何在asp.net mvc2中为特定用户显示隐藏和隐藏按钮

如何根据 ASP.NET MVC 2 中的安全角色为特定用户显示按钮并为另一个用户隐藏它。

例如,如果我的视图中有“创建”按钮,如何仅为管理员显示它并为任何其他用户隐藏它。

谢谢。

0 投票
3 回答
2982 浏览

asp.net-mvc - 单元测试(mvc) - 角色问题

我有 mvc 应用程序,我正在使用 poco 对象并编写单元测试。问题是当他们到达这行代码 Roles.IsUserInRole("someUser", "role") 时,我的所有测试都失败了。我应该为角色实现新的接口或存储库还是......?谢谢

0 投票
2 回答
10806 浏览

spring-security - Spring Security 角色前缀和自定义用户详细信息服务

如何""在 Spring 中使用自定义用户详细信息服务将角色前缀设置为?


0 投票
1 回答
707 浏览

security - 安全架构 - 驱动 UI 和特权(权利)的设置 - 基于角色,每个用户帐户

大公司如何实现他们的安全要求,这些要求集中并用于驱动人们可以做的事情(允许调用某个 Web 服务、提交订单等)以及驱动 UI(禁用按钮、菜单选项、个人表单域)?

我正在考虑 RBAC 架构:用户 -> 角色、角色 -> 特权。

具有基于许多单独的 field-account-user-role-amountThreshhold 权限的复杂应用程序将有很多很多“角色”,并且随着角色数量的增加,管理这些变得复杂。

管理所有这些可能的选项似乎令人生畏,而我之前的经验是在应用程序中硬编码这样的逻辑。

前任:If (User.Roles("IsAccounting")) { btnEditOrder.enabled = false; }

我的任务是设计/实现一个安全服务/架构,它将用作任何/所有应用程序(所有 .NET,但一些 GUI 和一些面向过程)的通用身份验证/授权点。

这是不可能开箱即用的,因为围绕客户帐户的业务组织和基于财务金额的权限层。

例如:John 是用户,他可以查看和提交帐户“Microsoft”和“Google”的请求。Mike 可以查看“Microsoft”和“Google”请求,但只能提交“Google”请求。

帐户/用户的数量庞大且多变。

如果我遵循 RBAC,将会有数百个“角色”来容纳所有必需的权利(特权)。这无济于事,因为最终目标是提供易于管理的 GUI 工具,以便管理人员可以将其直接下属分配给适当的角色。

我正在考虑使用以下 API(伪代码中的草稿)来实现这个安全部分:

应用程序中的用法是这样的: if (securityContext.RequestManager.CanSubmitRequest("Google")) {...}

这样一来,就会有成千上万的“Can(params)”方法来检查权限,这并不容易管理或使用这种模式。

任何链接/想法/指针表示赞赏。

这是一个 .NET 商店,但我从 .NET(成员资格/AzMan)中看到的任何内容都不会为我们提供所需的粒度和委派要求。ActiveDirectory / Oracle LDAP 集成会很好,但不是必需的。

旧(当前)系统使用 LDAP 对用户进行身份验证,但所有授权都在内部完成并存储在经典的“用户、角色、权限”表中。

0 投票
1 回答
470 浏览

java - 授予对已签名小程序的访问权限不起作用

我已经创建了签名的小程序来从客户端读取文件。现在我一直面临操作系统用户不同角色的问题。

EG 我尝试了一个来自 Sun 站点的示例签名小程序 - 当我以管理员身份登录时它运行良好,但在以普通用户身份登录时失败。

我正在使用以下环境:

  • 操作系统:Windows 7
  • 浏览器:IE 8

我觉得这绝对是操作系统不同角色的问题。但是我必须以非管理员角色部署签名的小程序功能。

如果没有管理员角色,我怎么能做到这一点?

0 投票
1 回答
221 浏览

java - 在 ITIM 中授权用户 wrt 分配的组

我是 ITIM 的新手。我正在用 JAVA 开发一个应用程序。我想根据分配给用户的组授权用户。我怎样才能做到这一点?

是否有任何 api 可以获取我可以授权的用户角色/组?

0 投票
2 回答
2706 浏览

c# - windows 窗体安全 c#

我正在用 C# 开发一个 Windows 窗体应用程序。我在这个应用程序中创建了用户身份验证,我必须根据用户的权限限制对不同功能的访问。

有没有可以帮助我的框架?

0 投票
2 回答
1468 浏览

oracle-apex - Oracle dbms.set_role 在 APEX 应用程序中不起作用

在我们的 j2ee 应用程序中,我们使用安全应用程序角色。基本上,数据源使用应用程序用户模式连接到数据库。应用用户只有创建会话权限。数据库登录触发器会将一组属性复制到本地安全上下文。(IP 地址、会话用户、客户端 ID、应用程序名称)。应用程序在执行任何 DML 之前显式调用存储过程 sec_mgr.set_role。

sec_mgr.set_role 将检查本地上下文属性,授权 ip、应用程序名称,并根据会话用户为该会话设置赞赏角色。

我们希望将相同的框架应用于 APEX 应用程序。首先,我们将配对模式更改为只有创建会话权限的应用模式。然后我们将调用 sec_mgr.set_role 的 plsql 代码放入应用程序构建器 --> 共享组件 ---> 编辑安全属性 ---> 虚拟专用数据库 (VPD)。

但是,我们得到了错误 ORA-06565: cannot execute SET ROLE from inside stored procedure

sec_mgr.set_role 被定义为调用者的权限(AUTHID CURRENT_USER)

我是否在 APEX 中遗漏了一些东西以使其正常工作?

谢谢

0 投票
1 回答
9935 浏览

authentication - LDAP 授权

我开始为一些现有系统使用 LDAP 实现授权和身份验证机制。在开发阶段,我面临一个艰难的设计决策:用户角色应该存储在哪里?

如果我使用 RDBMS,看起来会有三个表:userroleuser_role来映射角色和用户。

请提出可用的解决方案。我考虑将用户角色存储在 DB 中,将用户存储在 LDAP 中,但不确定这是否是最佳解决方案。我使用 JBoss 作为我的应用程序服务器。