WIF:其他进程看不到的更新声明



我有一个 STS,它可以登录人员,生成一堆声明,将其加载到标识和主体中,并将控制权转移到我的门户应用程序。门户可以通过 Thread.CurrentPrinciple.Identity 查看所有声明。在一种情况下,门户网站更改了其中两项声明。执行此操作后,门户中的其他方法可以通过上述相同机制查看更新的声明。但是,如果我将控制权转移回 STS,它会再次通过 Thread.CurrentPrinciple.Identity 看到原始声明,而不是更改的声明。谁能看出我做错了什么?我不明白为什么会有区别...我认为主体与会话相关联,STS 和依赖方也看到了同样的情况。谢谢-

STS 和门户(也称为信赖方)都有单独的 Cookie 和单独的声明集。 当您从门户/rp 浏览回 STS 并查看其标识时,您会看到已添加到其本地 Cookie(首次登录 STS 时生成的)的 STS 声明。 当您浏览到门户时,您会看到该站点 Cookie 中的声明(在 STS 首次发布 WIF 令牌并且门户的模块拦截它时生成)。因此,如果在门户中修改声明,它们不会影响 STS Cookie 中的声明。

最新更新