问题标签 [role-base-authorization]

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

ruby-on-rails - CanCan 授权发布索引操作

我在尝试使用 cancan 授权时遇到问题。我有每个用户一个角色的用户,所以我按照cancan wiki 中的建议添加了 user.role 列。

我也有幼儿园的索引视图和儿童的另一个索引视图。

我想要实现的是只允许具有角色幼儿园或父母(儿童)的相应用户访问索引视图。

当我现在在幼儿园控制器中授权幼儿园时,没有人被允许访问索引视图,尽管我在我的能力模型中定义了它。

帮助将不胜感激。我不知道我错过了什么......

能力模型:

幼儿园管理员:

0 投票
1 回答
247 浏览

owin - Azure 门户。MV。重定向到自定义错误页面不适用于 403 错误

我已经在我的应用程序中配置了 owinrole-based授权MVC。然后,我需要添加一个自定义处理403http 错误

我知道两种方法:

  1. Web.config设置:

    /li>
  2. 属性中重写HandleUnauthorizedRequest方法内部的配置:Authorize

    /li>

当我尝试访问我的用户不允许的资源并且我看到我的自定义页面403出错时,这两种方法在我的本地机器上都运行良好,但是当我在门户上部署我的应用程序时azure,我只看到带有以下文本:“您无权查看此目录或页面。” . 据我所知,我需要在 azure 门户上配置此行为,并在我的代码中对其进行配置。

有人可以建议吗?

0 投票
1 回答
102 浏览

c# - MVC 4 (NET 4.5):根据部门为特定员工创建自定义授权

我对 C# 真的很陌生。目前,我正在.NET 4.5 上做一个 Intranet 系统,我需要设置角色和权限。身份验证基于 AD 登录,因此我将他们的用户名 (DOMAIN\User) 存储在 Employee 表中。我有一个我创建的 RoleProvider,但这样的提供者只授权 Employee 拥有的通用角色。我想要实现的是,例如:部门 [技术] 的任何员工都无法查看部门 [销售] 部分。并且,在技术部门的员工中,只有部门经理才能管理该特定部门。我越深入研究授权,我就会迷失方向。

我在我的数据库中有什么:

[TblDepartment] 有很多 [TblStaffs],[TblStaffs] 映射到 TblEmployee

[TblRole]有很多[TblRoleLevel],[TblRole:Employee]映射到TblEmployee

我这样做是因为,还有另一位同事正在开发客户数据库以供销售部门使用。

一个星期以来,我一直在寻找这样的解决方案。

0 投票
1 回答
1569 浏览

asp.net-core - 将主键列添加到身份用户角色表

我正在扩展 IdentityUserRole 以拥有另一个名为WorkspaceId的主键/外键 Id 字段。

我收到此错误:“'ApplicationUserRole' 在属性 'WorkspaceId' 上不能有 KeyAttribute,因为主键只能在根类型上声明”

这是我的 ApplicationUserRole 类:

在 DbContext 我正在做:

向我的 UserRoles 表添加主键的最佳方法是什么,或者,创建另一个表是否更好、更安全?对我来说,拥有另一个包含来自 IdentityUserRole 的 PK/FK 和 WorkspaceId PK/FK 的表似乎有点矫枉过正。这意味着我需要维护两个表。

另外,我正在使用 .net Core 1.1

更新 1

在审查和实施调查结果后:这里这里

迁移时出现以下错误:

“Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`4[TUser,TRole,TContext,TKey]”上的“Models.ApplicationUser”违反了“TUser”类型的约束

这是我的应用程序用户

这是我的用户商店:

这是我在启动中的代码:

这是我的身份模型:

更新 2 删除以下行修复了约束违规错误:

0 投票
1 回答
379 浏览

amazon-web-services - JavaScript 中的 AWS 身份验证

我正在开发一个带有 REST 后端的单页应用程序,该后端使用 AWS Cognito 进行用户管理和身份验证。

我的结构是这样的,当用户在没有令牌的情况下进入页面时,会发生以下一系列步骤:

  1. 重定向到 Cognito 的默认登录页面
  2. 用户登录并被重定向到主机/authenticate.html
  3. AJAX 调用被发送到 Cognito 的令牌端点,该端点返回用户的令牌。这些存储在sessionStorage
  4. 用户被重定向到 Web 应用程序,现在已通过身份验证

我想在我的应用程序中有两个用户角色:UsersAdmins。不应允许用户调用任何 AWS 服务,而应允许管理员代表其公司创建/邀请其他用户并将其提升为管理员。

目前我已经为用户池和 Web 应用程序设置了一个身份池,以启用管理员权限。我使用以下代码对身份池进行身份验证:

});

当管理员想要创建用户时:

但是,根据我的理解,这将允许 Web 应用程序的所有用户拥有管理员权限,因为 IAM 角色与身份池相关联,而不是与用户本身相关联。

有什么简单的方法可以实现这一目标吗?

如果有任何不清楚的地方,请随时提出问题,并提前感谢您的帮助。

0 投票
1 回答
1106 浏览

rest - REST API GET Collection 调用的记录级访问控制

因此,我正在开展下一个需要更详细的访问控制功能的项目(即 Sally 只能查看她所在部门的产品)。

我了解基于角色的访问控制模型或属性访问控制模型如何“包装”API 调用以确定给定用户是否可以对给定对象执行所述操作。

当您处理返回记录集合的 GET 调用时,我一直卡住的地方。如果我从该端点向 API 请求包含 20 条记录的页面,我无法获得 20 条记录,然后在返回它们之前对这些记录运行基于代码的授权检查,因为我很可能不会返回 20 条记录。

似乎授权检查必须在数据库中关闭和/或在数据库查询之前通过向查询调用添加额外的过滤器(即也过滤产品部门=服装的位置)进行。

任何人有任何更具体的实现示例或想法如何以高性能方式实现?

0 投票
0 回答
86 浏览

mongodb - 如何撤销对 MongoDB 中集合的写入权限,但保留所有其他集合的读写权限?

是否有捷径可寻?

阅读官方文档,我了解到我必须为我拥有的每个资源/集合创建一个具有特权的新角色。

问题是我有很多资源/集合,我不想在每个集合的权限上指定所有 readWrite 操作。

我很想为我的洞数据库创建一个继承 readWrite 角色的角色,然后撤销对特定集合的写访问权限。

0 投票
1 回答
36 浏览

firebase - 实施 Firebase 规则的最佳方式是什么?我的不工作

这是我的火力基地规则

我的用户节点。(数据是伪造的)

我尝试使用用户角色,但仍被拒绝写作。我的规则会是错误的吗?

0 投票
1 回答
530 浏览

e-commerce - 在hybris中复制授权和组

亲爱的,

请帮助我解决以下问题

  1. 如何将标准权限组复制到后台的自定义权限组?
  2. 新用户登录时,后台没有出现初始对话框?
  3. 如何在后台下载和上传用户权限组?

谢谢你,文卡特什

0 投票
1 回答
118 浏览

asp.net-core - ASP.NET Core 2.1 身份验证

我面临以下问题:我正在尝试通过使用基于角色的身份验证来保护我的 ASP.NET Core Web API。

我已将以下几行添加到ConfigureServices()

Configure()

CreateRoles()并且CreateUsers()工作正常:这些方法创建了一些角色和一个管理员用户,将它们存储在相应的 SQL 表和用户/角色管理器中。

现在我可以使用[Authorize]. 可以访问带有标记的 API 调用[AllowAnonymous]

但是如何登录 API 并访问其他 API 调用?

为此,我创建了一个帐户控制器,如下所示:

我已经阅读了很多关于这个主题的文章,但我无法启动并运行登录。所以目标是使用存储在用户管理器中的用户登录并访问一些需要身份验证的 API 调用。有人可以尝试解释我如何实现它吗?