.NET 4.5声明身份模型

时间:2015-06-27 13:28:50

标签: .net .net-4.5 wif claims-based-identity

我们有两个ASP .NET Web应用程序存在于不同的服务器上。我们组织中的所有身份验证都是通过针对Active Directory的Windows身份验证完成的 - 因此Web应用程序本身无需进行用户名和密码身份验证。

我们希望使用基于声明的授权,并让这两个Web应用程序共享有关特定用户拥有的声明的信息。

我试图弄清楚如何解决这个问题。

我们有ADFS 2.0,我知道我可以使用此设置联合身份验证...但我的AD用户应该在哪里?声明存储,它们如何保持水分并因此共享。声明后,声明本身是否会以cookie结尾?

具体来说,情景应为:

  • 用户导航到网络应用1
  • 业务决策基于ClaimsPrincipal的AuthorizationDecision ClaimsTypes
  • 网络应用1重定向到网络应用2(或者他们稍后直接在那里导航)
  • 业务决策基于相同的AuthorizationDecision ClaimsTypes'值
  • 为什么?因为Web应用程序1和Web应用程序2都从第三方数据源中提取了一些常见数据 - 他们都需要知道用户是否有权查看该第三方数据中的某些实体类型。

1 个答案:

答案 0 :(得分:1)

索赔是从商店填写的。 ADFS的默认存储是AD。 ADFS可以从AD属性和/或自定义属性存储中获取AuthorizationDecision的内容:Microsoft.IdentityServer.ClaimsPolicy.Engine.AttributeStore.IAttributeStore。这将为配置和管理提供一个中心位置。

应用还可以查询自己并添加到声明中。声明框架的不同版本具有略微不同的接口。是的,应用程序将他们的声明存储在cookie中(每个应用程序都有自己的cookie)。除非你想要更小的cookie,否则cookie只包含一个引用。在这个应用程序的“声明丰富”场景中,每个应用程序都需要逻辑。

两种情况都有优点和缺点。