Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 角色和声明之间的差异_C#_Asp.net_Vb.net_Security_Claims Based Identity - Fatal编程技术网

C# 角色和声明之间的差异

C# 角色和声明之间的差异,c#,asp.net,vb.net,security,claims-based-identity,C#,Asp.net,Vb.net,Security,Claims Based Identity,在我们的系统中,我们可以设置具有权限的用户。他们创建一个组名,例如Admin,然后为他们想要执行的任务分配所有权限 例如,他们可以添加AddCompany、ViewCompany、DeleteCompany、EditCompany 这使得创建不同的权限组非常容易,我们可以非常轻松地控制安全性 我认为在这种情况下,组名=角色,每个权限都是一个声明,对吗?基于角色的授权用于将用户分组到组(角色)中,然后对角色而不是单个用户设置权限 例如:在您的情况下,您可以创建管理员角色并提供执行“AddCompa

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

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

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


我认为在这种情况下,组名=角色,每个权限都是一个声明,对吗?

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

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

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

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

主张是一个主体对自己或另一个主体所作的陈述 主题。语句可以是关于名称、标识、密钥、组、, 例如,特权或能力。索赔由一家保险公司出具 提供程序,它们被赋予一个或多个值,然后打包在 由发行人发行的安全令牌,通常称为 安全令牌服务(STS)

资源:


希望这有帮助。

角色是声明,但并非所有声明都是角色


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

好的,我理解这里的区别,谢谢。所以我猜角色可以使用声明设置,声明将是他们所在的组??此外,在我们的系统中,我们还有另一部分安全性,即如果用户是特定公司的一部分,那么他们可以看到某些数据。这是否属于索赔?因为他们声称是公司的一部分?在我们当前的项目中,我们将此作为针对用户的属性添加……我认为post更好地解释了事情,事实上向您展示了角色可以用作索赔,为什么可能是一个什么样的例子?我认为他的意思是;角色“admin”可以是一个声明。但声明也可以是“出生日期”,这不是一个角色。在.net中有索赔类型类System.Security.Claims.ClaimTypes,还有索赔类型.Role.Oops。抱歉,尝试链接错误的页面。