如何处理WIF中陈旧的索赔?

时间:2014-05-13 18:33:09

标签: wif claims

如何处理WIF中陈旧的声明?

以下是设置:

  1. 我有一个WIF STS,为许多不同的MVC Web应用程序提供身份验证。 STS还提供索赔,如特权,电子邮件等。

  2. 我有一个MVC应用程序我们会调用MyApp使用STS进行身份验证并使用所提供的声明。

  3. 我有一个MVC应用程序我们会调用MyManager,允许管理员更改任何用户的声明,例如与用户相关的权限。

  4. 问题在于:

    1. 用户" MisterUser"登录MyApp并获取包含其声明的FedAuth cookie - 包括自定义" MyAppUser" (特权)索赔。 MyApp会检查此声明以验证用户是否可以在MyApp上发出请求。

    2. 与MisterUser会议同时发布,"管理员"登录MyManager并从MisterUser中删除MyAppUser声明。

    3. MisterUser仍然可以继续使用MyApp,直到他的会话到期,因为FedAuth cookie已经编写好并且适合该会话。

    4. 显然,我想在这里发生的是在Admin删除他的MyAppUser(特权)声明后立即关闭MisterUser的访问权限。我能完成这项任务的最佳方式是什么?

      这完全有可能这是一个直接解决方案的常见问题,但我无法在数小时的搜索中发现任何真正的见解。

      非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

正如您所说,声明对会话有效。它们不是动态的(如果你考虑一下)实现某种STS动态更新将是一场噩梦。

当您登录时声明会更新,因此处理此问题的唯一方法是注销然后登录"引擎盖下#34;所以用户不知道这一点。

我问了一个类似的问题 - 请参考:Updating claims with ADFS and WIF和那里的答案。