【问题标题】:SessionAuthenticationModule doesn't deserialize all claims from cookie, sometimesSessionAuthenticationModule 有时不会反序列化来自 cookie 的所有声明
【发布时间】:2012-06-10 20:23:40
【问题描述】:

我在 MVC 应用程序和自定义逻辑中使用 WIF 和基于声明的安全性,在验证后使用适当的声明创建 ClaimsPrincipal。我将一些标准声明(例如角色和名称)分配给委托人,但也会在适用的情况下分配自定义声明。

例如,我使用 URI 在标准化的角色和名称声明之后建模了我的自定义声明

新声明(“http://schemas.acme.com/2012/04/identity/claims/create”、“http://schemas.acme.com/2012/04/identity/resources/customer”)

一切都运行良好。我使用 SessionAuthenticationModule 将用户会话存储在 cookie 中,并在每次请求时对其进行补充。

我今天注意到,在有人使用相同的用户类型登录后,我的自定义声明没有从 cookie 中反序列化。标准声明(名称/角色)存在,但自定义声明不存在。

有其他人见过这种情况或知道为什么会这样吗?

【问题讨论】:

    标签: asp.net-mvc wif claims-based-identity claims


    【解决方案1】:

    原来我正在添加通过引用消失的声明。我有一个预定义了静态声明的类,我会根据需要添加到 ClaimsPrincipal 中。我以这种方式添加的任何声明后来在该类型的其他用户登录时被删除。我的解决方案是将静态属性更改为 KeyValuePairs 并为每个用户创建新声明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2014-11-13
      • 2018-11-17
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      相关资源
      最近更新 更多