【问题标题】:Claims-based Authentication: Are strings the essence of claims?基于声明的身份验证:字符串是声明的本质吗?
【发布时间】:2010-06-14 22:46:07
【问题描述】:

一段时间以来,我一直在使用 Windows Identity Foundation 进行基于声明的身份验证编程。

在我看来,在 Windows Identity Foundation 中,一旦用户登录,声明基本上就是描述用户的信息字符串。

使用旧的基于角色的身份验证,我可以说用户是或不是给定组的成员,但使用基于声明的身份验证,我现在可以拥有描述用户的信息字符串。 “这个用户是女性”。该用户出生于“1975 年 7 月 6 日”。 “此用户使用 USB 密钥登录”。

这是基于声明的身份验证的本质,我拥有框架提供给应用程序的用户信息字符串吗?

【问题讨论】:

    标签: security wif claims-based-identity claims


    【解决方案1】:

    声明是关于与您的应用程序交互的主题的属性,可以是任何东西。你给出的所有例子基本上都是正确的。

    这就是为什么您可以将声明用于不仅仅是驾驶授权规则。例如,它们还可以表示用户配置文件信息。角色成员资格只是另一个属性(主要用于访问控制)。

    几个观察:

    • 一个微妙但非常重要的区别是声明由受信任的权威实体 (STS) 发布。索赔的来源与索赔本身一样重要。举个简单的例子:如果我向您发送一个由 Microsoft 的 STS 颁发的带有声明“Title=Program Manager”的令牌,您可能会非常确定我是为 Microsoft 工作的 PM。换句话说,您获得的属性的保真度与您对发行人的信任程度之间存在相关性。
    • 在 WIF 声明中,值被实现为“字符串”(如在 .NET 类型中),但它们可以是任何(可序列化的)对象。对于角色、组、名称等简单的事情,您只需使用该值。对于其他更复杂的类型,您将需要某种反序列化。

    【讨论】:

      猜你喜欢
      • 2015-04-15
      • 2013-01-20
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2014-07-14
      • 2012-03-26
      相关资源
      最近更新 更多