我们目前正在研究基于声明的身份验证,并使用 WIF 测试自定义 STS。
我们一直在讨论如何在数据库中存储声明。在许多简单示例中,声明作为简单属性存储在具有用户 FK 的单个表(例如 UserProfile)中。然后生成声明,声明类型是 URL 加上列名(例如http://.../claims/email),值当然是数据库中的值。
但我需要更复杂的例子。你能分享一些在数据库中存储索赔的方法吗?我在想一个包含所有声明类型的表,以及一个包含每个用户的值的表(对用户有一个 FK)。但我们真的需要一些灵感。因此,您可以分享的任何内容将不胜感激。但同样,这是一个非常“扁平”的结构......
更新
我试图制作一个简单的模型:http: //imageshack.us/photo/my-images/690/suggestionn.png/
抱歉,还不能发图片。
我认为这对于简单的索赔很有用。但是,如果我有我所谓的“嵌套声明”怎么办。假设声明类型描述了用户具有描述他对声明类型“文档”的资源“人员”的权利的声明。这可以使用该模型进行描述,但是如果我们想进一步描述该声明怎么办。假设用户对资源“人员”具有 5 级访问权限。我看不出这怎么可能。有任何想法吗?