WIF:更新的声明未被其他进程看到
WIF: updated claims not seen by other processes
我有一个 STS,可以让人们登录,生成一堆声明,将它们加载到身份中,从而加载到委托人中,然后将控制权转移到我的门户应用程序。该门户可以通过 Thread.CurrentPrinciple.Identities 查看所有声明。在一种情况下,门户网站更改了两个声明。这样做之后,门户中的其他方法可以通过上述相同的机制看到更新后的声明。但是,如果我将控制权转移回 STS,它会再次通过 Thread.CurrentPrinciple.Identities 看到原始声明,而不是更改后的声明。谁能看到我做错了什么?我不明白为什么会有不同……我认为委托人与会话相关联,并且 STS 和依赖方也看到了同样的情况。谢谢-
STS 和门户(又名依赖方)都有单独的 cookie 和单独的声明集。当您从 Portal/rp 浏览回 STS 并查看其身份时,您会看到添加到其本地 cookie 的 STS 声明(在您首次登录 STS 时生成)。当您浏览到门户网站时,您会在该网站的 cookie 中看到声明(当 STS 首次发布 WIF 令牌并且门户网站的模块拦截它时生成)。因此,如果您修改门户中的声明,它们将不会影响 STS cookie 中的声明。
我有一个 STS,可以让人们登录,生成一堆声明,将它们加载到身份中,从而加载到委托人中,然后将控制权转移到我的门户应用程序。该门户可以通过 Thread.CurrentPrinciple.Identities 查看所有声明。在一种情况下,门户网站更改了两个声明。这样做之后,门户中的其他方法可以通过上述相同的机制看到更新后的声明。但是,如果我将控制权转移回 STS,它会再次通过 Thread.CurrentPrinciple.Identities 看到原始声明,而不是更改后的声明。谁能看到我做错了什么?我不明白为什么会有不同……我认为委托人与会话相关联,并且 STS 和依赖方也看到了同样的情况。谢谢-
STS 和门户(又名依赖方)都有单独的 cookie 和单独的声明集。当您从 Portal/rp 浏览回 STS 并查看其身份时,您会看到添加到其本地 cookie 的 STS 声明(在您首次登录 STS 时生成)。当您浏览到门户网站时,您会在该网站的 cookie 中看到声明(当 STS 首次发布 WIF 令牌并且门户网站的模块拦截它时生成)。因此,如果您修改门户中的声明,它们将不会影响 STS cookie 中的声明。