【问题标题】:How to update a claim when using Session Authentication Module (SAM)使用会话身份验证模块 (SAM) 时如何更新声明
【发布时间】:2013-04-08 19:01:13
【问题描述】:

我正在使用会话身份验证模块将用户声明存储在身份验证 cookie 中。

在用户登录时更新其声明的推荐方法是什么?例如,如果他们更新了他们的个人资料(名字/姓氏),而我们想要更新相关的声明。

发生这种情况时,我不想让用户注销,所以DeleteSessionTokenCookie 不是一个选项。

【问题讨论】:

标签: wif claims-based-identity


【解决方案1】:

使用 SAM.WriteSessionTokenToCookie 设置新的会话 cookie。

【讨论】:

  • 当我这样做时,用户刚刚退出。
  • Brock 在 Jabbr 上为我指明了正确的方向。创建更新的ClaimIdentity 时,我没有指定身份验证类型。
  • 您能否详细解释一下 - 您是如何解决问题的?我不确定我需要为 WriteSessionTokenToCookie 调用指定什么 sessionToken。
【解决方案2】:

Leastprivilege 的答案是正确的。

但为了回应 Vijay V 的评论,下面是关于如何在向您的声明主体添加新声明后更新 cookie 的示例代码:

var sam = FederatedAuthentication.SessionAuthenticationModule;
if (sam != null)
{
    var token = new SessionSecurityToken(claimsPrincipal);
    sam.WriteSessionTokenToCookie(token);
}  

here提取代码。

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 2018-12-29
    • 1970-01-01
    相关资源
    最近更新 更多