基于索赔的身份验证:字符串是索赔的本质吗?
-
24-10-2019 - |
题
我一直在编程基于索赔的身份验证已有一段时间 Windows Identity Foundation.
在我看来 Windows Identity Foundation, ,一旦登录用户,索赔基本上是描述用户的信息字符串。
有了基于旧的基于角色的身份验证,我可以说用户是给定组的成员或不是给定组的成员,但是有了基于索赔的身份验证,我现在可以拥有描述用户的信息字符串。 “这个用户是女性”。该用户出生于“ 1975年7月6日”。 “此用户使用USB密钥登录”。
我是否有关于用户通过框架提供给应用程序的用户的信息字符串的本质?
解决方案
主张是有关主题与您的应用程序交互的属性,可以是 任何事物. 。您给出的所有示例本质上都是正确的。
这就是为什么您不仅可以使用索赔来驱动授权规则。他们还可以表示用户配置文件信息。角色成员资格只是另一个属性(主要用于访问控制)。
夫妇观察:
- 一个微妙但非常重要的区别是,索赔是由信任的权威实体(STS)发出的。索赔的起源与索赔本身一样重要。要使用一个简单的示例:如果我向您发送了Microsoft的STS发行的代币,并具有“ title = program Manager”,那么您可能会高度确定我是为Microsoft工作的PM。换句话说,您获得的属性的保真度与您对发行人的信任程度之间存在相关性。
- 在WIF中,索赔值值被实现为“字符串”(如.NET类型中),但它们可能是任何(可序列化的)对象。对于角色,组,名称等的简单事物。您只需使用该值即可。对于其他更复杂的类型,您将需要某种选择。
不隶属于 StackOverflow