我正在使用会话身份验证模块将用户声明存储在身份验证 cookie 中。
在用户登录时更新用户声明的推荐方法是什么?例如,如果他们更新了他们的个人资料(名字/姓氏)并且我们想要更新相关的声明。
我不想在发生这种情况时将用户注销,所以DeleteSessionTokenCookie
不是一种选择。
我正在使用会话身份验证模块将用户声明存储在身份验证 cookie 中。
在用户登录时更新用户声明的推荐方法是什么?例如,如果他们更新了他们的个人资料(名字/姓氏)并且我们想要更新相关的声明。
我不想在发生这种情况时将用户注销,所以DeleteSessionTokenCookie
不是一种选择。
使用 SAM.WriteSessionTokenToCookie 设置新的会话 cookie。
Leastprivilege 的答案是正确的。
但是为了回应 Vijay V 的评论,这里是关于如何在向您的声明主体添加新声明后更新 cookie 的示例代码:
var sam = FederatedAuthentication.SessionAuthenticationModule;
if (sam != null)
{
var token = new SessionSecurityToken(claimsPrincipal);
sam.WriteSessionTokenToCookie(token);
}
从这里提取代码。