Windows FS Foundation要求来自AD FS的声明

时间:2014-10-03 19:18:57

标签: active-directory wif adfs adfs2.0 windows-identity

我的问题归结为,我可以在应用程序之间切换时刷新用户的声明吗?据我所知,答案很可能是“不”。我已经完成了舞蹈添加“claimTypeRequired”,但这没有帮助。

假设我有多个应用程序,App1,App2,App3,App4,App5。

一旦您通过任何应用程序进行身份验证,看起来AD FS都不会再次被击中,并且没有办法解决这一问题,是吗?因此,考虑到这一点,我必须获得所有应用程序的所有声明,无论我登录哪个应用程序。作为旁注,我是通过AD FS的SQL存储过程创建这些声明的。 usp_GetAppClaims @AppID = 1, @UserGuid = 'GUID'

我在相应的URI中为每个App存储一组声明,其中包含多个值。类似于“角色”的说法。例如:

我是否比这更困难?如果我需要获得所有索赔,我有点担心令牌大小。 20个应用程序,每个都有10-50个声明...最多4kb Cookie吧?也许这与大多数情况无关。

3 个答案:

答案 0 :(得分:1)

如果您在最后"发行转换规则"中执行声明查询,则每个应用程序始终会获得自己的声明集。

如果您有一系列发行人,并且声明来自链中的第一个,那么我不知道有任何方法可以区分每个RP(在链的末尾)。为了避免巨大的声明设置,一些人(如果可能的话)使用WIF ClaimsAuthenticationManager在RP中完成。

答案 1 :(得分:1)

Wrt,“刷新”,即Value1的值在访问App1和App2之间发生变化,然后没有 - 你必须注销,尽管“在引擎盖下”。

就大型cookie而言,从前(WIF 3.5)有“会话模式”,即Switching to WIF SessionMode in ASP.NET

答案 2 :(得分:0)

问题最终是两个使用相同cookie的应用程序。发现你必须在web.config中给cookie一个唯一的名字,否则你不会在切换应用程序时重定向回AD FS。