3

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

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

我不想在发生这种情况时将用户注销,所以DeleteSessionTokenCookie不是一种选择。

4

2 回答 2

4

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

于 2013-03-01T15:36:40.693 回答
1

Leastprivilege 的答案是正确的。

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

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

这里提取代码。

于 2013-04-08T11:01:13.683 回答