标签: role-based

ASP.NET MVC中基于角色的访问控制(RBAC)与基于声明的访问控制(CBAC)

使用CBACRBAC的主要好处是什么?何时使用CBAC更好,何时使用RBAC更好?

我试图理解CBAC模型的一般概念,但总体思路对我来说仍然不明确.

asp.net-mvc access-control claims-based-identity role-based role-base-authorization

129
推荐指数
9
解决办法
4万
查看次数

Asp.net核心身份使用AspNetUserClaims或AspNetRoleClaims?

我仍然对所有这些身份的东西感到困惑. 

首先,我仍然对角色,政策/声明之间的区别感到困惑.从我读到的角色来看,旧的做事方式是为了向后兼容,所以这是否意味着AspNetRoleClaims是这种向后兼容性的一部分?

我认为我理解声明和政策是个体的,比如政策基本上是一套必须通过的规则,并且能够在不必完成所有代码和更改角色的情况下更改规则.

如果是一个声明,基本上是一个值得信赖的来源担保该用户(即这是他们的年龄,可能来自政府来源).

现在令我困惑的是将它们放在一起.

我生成了Identity表并查看

AspNetUsers
AspNetUserRoles
AspNetRoles
AspNetRoleClaims
AspNetUserClaims
AspNetUserLogins
Run Code Online (Sandbox Code Playgroud)

我得到了AspNetUsers表和AspNetUserLogins(如果它们像外部登录提供程序一样使用).

我对AspNetRoleClaims和AspNetUserClaims之间的区别感到困惑.我只是使用AspNetUserClaims还是使用一切?

说我有这个场景

我有一家拥有多个分支机构的公司,在每个分支机构中,他们将成为该分支机构的管理员,他们在分支机构中拥有全部权力,并且可以在另一个分支机构做任何事情.在公司层面,将有一位管理员可以在公司层面和任何分支机构做任何事情.最后,我在分支机构中有一个人可以添加新员工.

这一切都是什么样的?我做3个角色吗?

CompanyAdmin
BranchAdmin
AddUsersAtBranchLevel (or is this some sort of claim??)
What do the tables look like? Is there anything going to be in AspNetRoleClaims? AspNetUserClaims?
Run Code Online (Sandbox Code Playgroud)

现在我可以制定一个策略来检查用户是否是分支管理员以及他们是否正在尝试编辑他们的分支?

或者我只是忘记所有角色的东西,并在AspNetUserClaims中

User1   CanAddUserToBranch true
User1 CanDeleteUserBranch true
User1 CanAddUserToCompany true
Run Code Online (Sandbox Code Playgroud)

然后在我的代码中创建所有不同的"ClaimTypes"并创建一个polciy,看看他们是否说"CanAddUserToBranch"然后另一个声明或策略来检查他们所在的分支以确保他们正在尝试向正确的分支添加内容?

编辑

您认为我需要使用基于资源的授权吗?

claims-based-identity role-based asp.net-identity asp.net-core

16
推荐指数
1
解决办法
3601
查看次数

为何基于声明的身份验证而不是基于角色的身

我是新的基于声明的身份验证.我已经完成了几个aricles,无法弄清楚基于声明的身份验证的确切用法.以下是我对基于声明的身份验证的一些疑问.

  1. 我想知道基于角色的身份验证的声明有什么区别和优点.
  2. 我们可以使用基于声明的身份验证而不是ADFS连接到Sql Server 2008 R2吗?如果,那怎么样?
  3. 在WCF中使用基于声明的身份验证的优势?

任何人都可以向我提供一些解释,以便我能理解基于声明的身份验证并与我的应用程序一起使用吗?

wcf claims-based-identity role-based simplemembership

13
推荐指数
2
解决办法
4954
查看次数

为什么我会在控制器属性中硬编码用户权限?

我见过这样的示例代码,看起来非常合理:

[Authorize(Roles = "Admin, User")] 
public class SomeController : Controller 
Run Code Online (Sandbox Code Playgroud)

但我也看到了几个看起来像这样的例子:

[Authorize(Users = "Charles, Linus")] 
public class SomeController : Controller 
Run Code Online (Sandbox Code Playgroud)

我为什么要这样做?我无法想象任何我希望建立一个事先知道其用户名的系统的场景.

c# security asp.net-mvc role-based

8
推荐指数
1
解决办法
953
查看次数

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

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

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

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

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

我的问题:

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

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

如果有人能指出我在AngularJS的服务器端实现基于角色的授权的教程或文章,那将是很棒的.

谢谢!

mysql authorization role-based angularjs role-based-access-control

7
推荐指数
1
解决办法
1万
查看次数

基于角色的访问控制(RBAC) - .Net组件

在我的工作中,我们尝试使用Windows Identity Fundation(WIF)或基于成员资格提供程序的某些自定义组件来整合应用程序服务器场的身份验证.

有了这个,我们需要为开发人员(和最终用户)提供一些组件,这些组件可以帮助我们通过角色(RBAC - 基于角色的访问控制)来管理管理视图的逻辑.我找不到任何东西.

这就是主意:用户"管理员"可以查看"主页"和"管理"页面.好吧,就像开发人员一样,我不想编写代码来进行这种分析.为此,我希望使用一个组件来封装这种复杂性.管理事件或应用程序中的操作的相同想法

你知道这样的事吗?像角色提供者这样的东西,但是像通用组件一样,可以帮助我(比如Moodle或Joomla中的分析).

只是为了记录,英语不是我的导航语言,我还在学习它.

c# asp.net rbac role-based

6
推荐指数
1
解决办法
4678
查看次数

基于角色的模型列表授权

我有3个型号[用户,角色和用户角色]

Use {ID [PK], Name, Email, Password, .....}
Role {ID [PK], Name, Description, .......}
UserRole {UserID [FK], RoleID [FK]}

考虑使用[Authorize]属性在控制器上进行基于角色的授权,指定用户必须具有管理员角色才能访问类中的任何控制器操作

[Authorize(Roles = "Administrator")]
public class PageController : Controller
{
    // Controller code here
}
Run Code Online (Sandbox Code Playgroud)

这很好,我需要的是,

有没有办法将我的角色集分配给[授权]属性?例如

我将从登录用户中获取已分配的角色并将其存储在列表中.是否可以将此列表分配给[授权]属性?如下所示:

[Authorize(Roles = MyDynamicallyLoadedList)]
public class PageController : Controller
{
    // Controller code here
}
Run Code Online (Sandbox Code Playgroud)

authorization role-based authorize-attribute asp.net-mvc-3

6
推荐指数
1
解决办法
835
查看次数

分层数据方案中的实体级访问控制

坦率地说,我对实体级授权有一个要求。我希望得到一些关于这个权限结构的指导,我如何在 .NET 4.5 中实现它,以及是否有办法改进它。

它是这样的:


我有一组结构如下的数据:

在此处输入图片说明

在哪里

  • aFleet是零个或多个的集合Cars
  • aFleet可以包含其他Fleets

舰队可以在以后重组和移动以用于组织目的。

我在系统中有多个具有与这些实体相关的权限的角色:

  • 车主:可以在车队中添加或移除汽车
  • 经理:为汽车分配司机
  • 司机:允许简单地驾驶汽车
  • 机械师:可以修理汽车

授权逻辑允许User系统中的 a 被授予对具有一个或多个角色的aFleet或 a 的访问权限Car

以下是一些有助于解释的场景:

  1. 如果我授予User Jim以角色访问Fleet #5 的权限Driver,他将被允许驾驶车队 #2 下的任何汽车。由此产生的权限允许他驾驶汽车 #4, 5, 6
  2. 如果我授予用户MauraCar #1作为机械师的访问权限,则由此产生的权限允许她只修理汽车 #1。
  3. 如果我授予用户Sarah访问 Fleet #2 的角色Owner和权限Mechanic,她可以添加和移除车队 #2, 4, 5并且她可以修理汽车 #1, 2, 3, 4, 5, 6 …

access-control claims-based-identity role-based role-base-authorization role-based-access-control

6
推荐指数
1
解决办法
658
查看次数

使用Google App Engine和Python进行基于角色的安全性

我想问一下使用Google App Engine,Python处理基于角色的安全性的常用方法是什么?

在app.yaml中,有"登录"部分,但可用值仅为"admin"和"required".

您通常如何处理基于角色的安全性?

  • 使用两个表创建模型:角色和UserRoles
  • 导入Roles表的值
  • 手动将用户添加到UserRoles
  • 检查用户是否在正确的角色组中

任何其他想法或任何其他基于角色的安全方法,请告诉我们!

python google-app-engine role-based

5
推荐指数
1
解决办法
2564
查看次数

如何让所有用户都参与角色中的角色?

我有一个使用AD模块连接到Active Directory的Sitecore站点.假设我们在Sitecore中定义了一个名为"内容作者"的角色.内容作者可能包含单个用户帐户 - "jsmith" - 或者它可能包含整个AD组 - "Northeast Managers".我需要直接或间接(通过AD组)获取"内容作者"角色中所有用户的列表.现在我的代码似乎只返回直接成为"内容作者"角色成员的用户.这是我的代码:

string[] _roleUserNames = System.Web.Security.Roles.GetUsersInRole("Content Authors");
Run Code Online (Sandbox Code Playgroud)

我假设这段代码会返回该角色中每个人的"有效"列表.它似乎只会让那些直接担任这个角色的人回归.有谁知道是否有其他方式让每个人都参与其中?

asp.net-membership sitecore role-based sitecore6

4
推荐指数
1
解决办法
1994
查看次数

拟人化界面 - 好的或坏的想法?

我有一段时间尝试过anthropomorphise(意思是人类可读的)我给接口的名字,对我来说,这就像给一个接口一个基于角色的名字一样 - 试图在名称中捕获接口的目的.

我和其他认为这有点奇怪和幼稚的开发人员进行了讨论.

SO的人怎么想?

示例(C#语法):

public interface IShowMessages
{
    void Show(string message);
    void Show(string title, string message);
}

public class TraceMessenger : IShowMessages
{
}

public interface IHaveMessageParameters
{
    IList<string> Parameters { get; }
}

public class SomeClass : IHaveMessageParameters
{
}
Run Code Online (Sandbox Code Playgroud)

c# interface role-based

2
推荐指数
1
解决办法
387
查看次数