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

glassfish - 如何将批处理与基于角色的安全性结合使用

对不起我的英语......可能有人帮我找到有关在 glassfish 服务器中使用基于角色的安全性的批处理作业的信息?当我从 EJB 调用该方法时:

我得到这样的异常: javax.ejb.AccessLocalException: Client not authorized for this invocation

我的工作类别:

如何在批处理中使用基于角色的安全性?谢谢!

0 投票
1 回答
19 浏览

permissions - 是否从软件设计的角度推荐“以他人身份看待”?

前段时间,Facebook 推出了一项帮助设置个人资料权限的功能:以其他人的身份查看。它允许动态页面的作者查看哪些用户组(或特定用户)可以看到页面中的哪些信息,从而调试权限。LinkedIn 中也存在类似的功能

现代应用程序,尤其是 B2B,可能具有更复杂的权限设置。因此,这样的工具更有用。但是据我所知,这个功能并不是很普及。我想知道可能有什么缺点,或者在考虑将其用于我自己的项目之前是否可以阅读任何 RFC 和最佳实践文章。

0 投票
0 回答
298 浏览

angularjs - 单页应用中复杂的授权规则如何处理?

我已经阅读了几篇关于rest api +单页应用程序中的授权处理的文章。他们主要建议如下:初始化前端应用程序时,检索用户角色并在客户端检查角色并基于它应用逻辑,基于角色显示/隐藏特定控件等。

但是我没有找到任何关于更复杂的授权逻辑的文章。

例如:有基于角色的访问控制的rest api(我使用的是Yii2 rbac)。有前端应用程序(我正在使用角度)。在这个应用程序中,列出了帖子列表。因此,根据用户角色,此列表中每个帖子的“编辑”按钮应该是可见/隐藏的。

有以下角色:

  • 行政

  • 用户 - 登录用户

  • 来宾

问题是,具有“用户”角色的用户的“编辑”权限取决于上下文(业务规则) - 如果用户是帖子的作者,他允许编辑帖子,在其他地方则被禁止。

那么在应用程序的前端部分处理此类授权的最佳实践是什么?

当用户执行对休息端点的调用时,为每个实体提供操作权限以响应?

0 投票
0 回答
30 浏览

.net - Windows 桌面和 Web 应用程序中基于角色的安全性

我的任务是研究基于角色的安全技术,以便可能包含在我们基于 .Net 的桌面和 Web 应用程序中。我设想向服务发送应用程序用户的安全凭证,并接收回一个配置流,描述要呈现给用户的 UI 元素。关于哪些开源或商业技术可以做到这一点的任何想法?

提前致谢。

0 投票
0 回答
56 浏览

linux - 扩展基于角色的访问控制(Ex-RBAC)和基于角色的访问控制(RBAC)有什么区别?

两者之间有什么区别,我什么时候应该选择一个而不是另一个?是否存在应该合并这些的情况? 你能用一个例子解释哪个更好,为什么? 提前致谢。

0 投票
0 回答
377 浏览

angularjs - 使用 Angular 和 WebApi 实现基于角色的安全性的方法

我一直在阅读一堆不同的帖子和问题。我是 Angular 的新手,正在寻找有关如何使用角色保护 Angular 应用程序的示例。

我在互联网上看到的很少涉及使用服务进行身份验证并获取用户令牌;我假设这个令牌在用户会话期间保存在 Angular 服务中。

我想要一个关于如何设置客户端(角度)路由和模型安全性(显示/隐藏/启用/禁用特定字段)和服务器端(Web API)的示例。

到目前为止,我的想法是:

  1. 创建一个安全控制器,登录表单将发布到该控制器并实现逻辑以发出令牌
  2. 使用 Authorization 属性保护剩余的 WebApi 控制器,该属性将在令牌丢失/无效的情况下发出 403
  3. 为返回模型的资源(授权时)实施服务器端处理,并且仅返回用户有权查看的属性(模型属性上的自定义数据注释)
  4. 在客户端实现 403 处理(不知道从哪里开始)
  5. 实现模型的视图渲染,其中可以根据角色启用/禁用字段(即用户可以看到但不能编辑)(指令)?

关于如何(正确)执行此操作的具体示例 - 考虑到当前的安全预防措施会有所帮助。

0 投票
2 回答
552 浏览

entity-framework - 如何将基于角色的安全性应用于 odata/breezejs 查询的结果?

在我看来,微风/odata 查询对数据的安全访问存在重大风险。例如,假设我有一个与受限实体 (R) 相关的非受限实体 (U)。我不会公开一个端点来查询 R,我会编写我的客户端来查询 U,而不包括相关的 R。但是,恶意客户端可以请求相关的 Rs。

我该如何防止这种情况?

我有几个想法。但是,我还没有能够实现它们,还不能说它们是否有效。尽管如此,以下是我的想法:

1) 检查每个结果实体——在执行查询之后但在结果发送到客户端之前。但是,我不知道如何在执行和发送到客户端之间插入我的检查代码(通过回调或其他方式):(

2) 将智能添加到 POCO,以根据用户角色检查受限实体和属性。例如,而不是:

我会有这样的事情:

这似乎很恶心,因为 POCO 应该是愚蠢的。POCO 需要能够从某个地方读取用户角色……也许是 HTTP 会话。我不太清楚这将如何运作。

我已阅读以下问题/答案,但它们对我没有帮助: breezejs 和 EF6 中基于角色的安全性,breeze.js如何 处理安全性并避免暴露业务逻辑如何使用 Breeze JS 处理授权?

0 投票
1 回答
684 浏览

azure - 网站参与者无法根据 Azure RBAC 管理 SSL 证书:内置角色

Azure RBAC:内置角色 - 网站贡献者

根据上面的链接,它引用Website Contributor应该能够

Microsoft.Web/certificates/* 创建和管理网站证书

但实际上用户无法管理证书(添加/删除/上传新证书)。用户会在 Azure WebAppAccess denied的刀片上获得文本。仅当用户具有资源组级别或资源组级别角色而不具有角色时,SSL Certificates经过验证的用户才能上传/管理 SSL 证书。我是在错误地解释规则还是应该按照引用的方式工作?OwnerContributorWebsite ContributorCreate and manage website certificates

0 投票
0 回答
380 浏览

asp.net-core-mvc - ASP.NET 核心 MVC 6 中基于角色的身份验证

我已经搜索了几个小时,但无法弄清楚如何使用身份 3 在 asp.NET core MVC 6 中设置基于角色的身份验证。

我已经通过这些线程工作:

在新的 VS 2013 Identity UserManager 中动态添加角色

在 Asp.net Identity MVC 5 中创建角色

http://www.dotnetfunda.com/articles/show/2898/working-with-roles-in-aspnet-identity-for-mvc

但我不知道如何让类似的基于角色的身份验证在 asp.NET 核心中工作。

如果有人知道如何正确使用 RoleManager 以及如何在数据库中设置管理员帐户,我将不胜感激。希望您能帮助我提供更多材料。

真诚的促销

0 投票
1 回答
6845 浏览

angular - 角度 2 订阅值更改未反映在 html 上

这让我很困惑。我可能对订阅的工作原理没有深入的了解。

Angular 2 最终版本

目标:基于角色隐藏/显示导航菜单方法:我使用 Facebook 来验证用户。身份验证后,将检索用户角色并用于确定是否应显示管理菜单。使用 true 进行 observable.next 调用,导航栏组件订阅将拾取标志并将 isAdmin 更改为 true。(开始时 isAdmin 为 false)这将允许显示 Admin 菜单。

问题:订阅者正确选择了 true 标志,并且 isAdmin 设置为 true。但是,管理员菜单不显示。

navbar.component.ts

导航栏.html

app.component.ts

安全服务.ts

这有什么问题吗?或者有更好的方法来实现目标?任何建议将不胜感激!谢谢

更新

根据 peeskillet 提供的答案,我从组件中删除了 changeDetection 行,它可以正常工作。

但是,当我进一步处理代码时,我会移动

到另一个服务(在这种情况下是 Facebook 服务)并从应用程序组件调用该服务。navbar.compoenent.ts 中的订阅确实获取了更改,但没有触发更改检测。我必须手动触发检测才能使其工作。

更新了 navbar.component.ts

更新了 app.component.ts

这是相当有趣的。显然,我需要了解更多关于角度 2 变化检测的信息。如果有人知道好的参考,请与我分享。

谢谢!!