【问题标题】:How to add some claims to ClaimsIdentity but do not serialize them into the cookie如何向 ClaimsIdentity 添加一些声明但不将它们序列化到 cookie 中
【发布时间】:2014-12-05 20:21:15
【问题描述】:

我正在使用带有 cookie 身份验证的 ASP.NET Identity 2。我想将用户的权限添加到当前的 ClaimsPrincipal 但是因为可能有很多权限并且 cookie 的大小有限,所以我不想将身份的所有声明序列化到 cookie 中。我想在登录期间加载声明并将它们缓存在服务器端。我必须在哪里挂钩才能在每个请求中将声明添加到当前委托人?

【问题讨论】:

    标签: asp.net-identity-2


    【解决方案1】:

    我找到了解决方案。 IAuthenticationSessionStore 接口正是我所需要的。通过实现该接口,在CookieAuthenticationOptions.SessionStore property 上设置它的实例,您可以决定如何在请求期间保留整个 ClaimsPrincipal 而无需将其序列化到 cookie 中。

    Tarzan,对不起,Vittorio Bertocci 正在向界面here 展示详细信息。

    【讨论】:

    • 另请参阅此答案:stackoverflow.com/q/19192428/809357。可能是相关的。
    • 非常感谢@trailmax。按照 IAuthenticationSessionStore 的要求序列化 AuthenticationTicket 并不好玩!在身份被 OWIN 中间件从 cookie 反序列化后添加声明要容易得多。
    猜你喜欢
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 2021-12-12
    • 1970-01-01
    • 2017-06-21
    相关资源
    最近更新 更多