角色与索赔之间的差异

时间:2014-09-26 13:18:21

标签: c# asp.net vb.net security claims-based-identity

在我们的系统中,我们可以通过权限设置用户。他们创建一个组名,例如Admin,然后为他们想要执行的任务分配所有权限。

例如,他们可以添加AddCompany,ViewCompany,DeleteCompany,EditCompany

这使得制作不同的权限组非常容易,我们可以非常轻松地控制安全性。

我是否正确地认为在这个例子中,群组名称=角色,每个权限都是声明?

2 个答案:

答案 0 :(得分:10)

基于角色的授权用于将用户分组(角色),然后为角色而不是单个用户设置权限。

例如:在您的情况下,您可以创建管理员角色并提供执行“AddCompany,ViewCompany,DeleteCompany,EditCompany”任务的权限。

在这种情况下,通过一小组角色更容易管理大量用户。这是最常用的身份验证模型。

基于声明的授权为您的授权策略提供了额外的抽象层。此外,权利要求是一种提供关于用户而不是用户组的信息的方法。您可以创建用于根据用户提供的身份验证证据生成声明集的授权策略。然后,用户向应用程序提出声明以便访问资源。

  

声明是一个主体对自己或另一个主体做出的声明   学科。声明可以是名称,身份,密钥,组,   例如,特权或能力。索赔由a发出   提供者,他们被给予一个或多个值,然后打包   由发行人发行的证券代币,通常称为   安全令牌服务(STS)

资源:http://msdn.microsoft.com/en-gb/library/ff649821.aspx

http://msdn.microsoft.com/en-gb/library/ff649821.aspx

http://msdn.microsoft.com/en-gb/library/ff359101.aspx

希望这有帮助。

答案 1 :(得分:2)

角色是主张,但并非所有主张都是角色。

在基于声明的授权系统中,您可以使用角色作为权限,但也可以使用其他内容。在我当前的项目中,我们有从角色到权限的多对多映射。