【问题标题】:IdentityModel .Net 4.5 Claim vs .Net 4.6 ClaimIdentityModel .Net 4.5 声明与 .Net 4.6 声明
【发布时间】:2016-09-16 04:19:53
【问题描述】:

Claims 曾经在 .Net 4.5 中具有以下属性

  • ClaimType:获取声明的声明类型。
  • Issuer:获取声明的颁发者。
  • OriginalIssuer:获取声明的原始颁发者。
  • Properties:获取名称-值对的属性。
  • Subject:获取声明的主题。
  • Value:获取声明的值。
  • ValueType:获取声明的值类型。

现在.Net 4.6 中似乎有新的Claims,具有以下属性

  • ClaimType:获取声明的类型。
  • DefaultComparer:获取一个可以比较两个 Claim 对象是否相等的对象。
  • Resource:获取与此 Claim 对象关联的资源。
  • Right:统一资源标识符 (URI) 的字符串表示形式,它指定与此 Claim 对象关联的权限。
  • System:代表系统实体的预定义声明。

它们是否只是claims-based-identity概念中claim同一概念的不同表示?

还是整个概念都变了?


更准确地说,我想考虑以下授权数据:

  • 用户数据:UserId = "5";
  • 资源数据:ResourceName = "Book";
  • 动作数据:ActionName = "ViewContents";
  • 环境数据:SystemLanguage = "English"

据我了解,这些数据可以用 4 种不同的旧式声明来表示。这对我来说很清楚如何创建它们。

新的声明应该如何正确表示这些数据?

谢谢!

【问题讨论】:

    标签: .net authorization claims-based-identity claims .net-4.6


    【解决方案1】:

    对于误导性问题,我深表歉意。

    问题中的第一个声明(包含 7 个属性)是新声明。它自 .Net 4.5 以来就存在。它来自System.Security.Claims 命名空间。

    该问题的第二个声明(具有 5 个属性)是另一个声明,自 .Net 3.0 以来就存在。它来自System.IdentityModel.Claims 命名空间。

    我认为问题中的情况需要的是具有 7 个属性的声明,第一个来自 System.Security.Claims

    编辑: This 答案是一个很好的理由。

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 2012-06-28
      • 2014-03-12
      • 2018-03-04
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      相关资源
      最近更新 更多