Claim
过去在 .Net 4.5 中拥有以下属性:
ClaimType
:获取声明的声明类型。Issuer
:获取声明的发布者。OriginalIssuer
:获取声明的原始发布者。Properties
:获取名称 - 值对的属性。Subject
:获取声明的主题。Value
:获取声明的值。ValueType
:获取声明的值类型。现在 .Net 4.6 中有新的Claim
,其中包含以下属性:
ClaimType
:获取声明的类型。DefaultComparer
:获取一个可以比较两个Claim对象是否相等的对象。Resource
:获取与此Claim对象关联的资源。Right
:统一资源标识符(URI)的字符串表示,指定与此Claim对象关联的权限。System
:代表系统实体的预定义声明。它们是claims-based-identity
概念中声明的相同概念的不同表示吗?
或者整个概念已经改变了?
更确切地说,我想考虑以下授权数据:
UserId = "5"
; ResourceName = "Book"
; ActionName = "ViewContents"
; SystemLanguage = "English"
。据我了解,此数据可由4种不同的旧式声明表示。这对我来说很明显是如何创建它们的。
如何通过新的声明正确表示此数据?
谢谢!
答案 0 :(得分:0)
我很抱歉有误导性的问题。
问题的第一个主张(有7个属性)是新的。它存在于.Net 4.5之后。它来自System.Security.Claims
名称空间。
问题的第二个主张(有5个属性)是另一个声明,自.Net 3.0以来就存在。它来自System.IdentityModel.Claims
名称空间。
我认为问题中的情况需要的是具有7个属性的声明,第一个来自System.Security.Claims
。
编辑: This回答是一个很好的理由。