【发布时间】:2016-12-25 21:24:27
【问题描述】:
我在 MVC 6 (Asp.Net One Core) 中有一个 Web 应用程序,并且我正在使用基于声明的身份验证。在登录方法中,我设置了声明:
var claims = new Claim[]
{
new Claim("Name", content.Name),
new Claim("Email", content.Email),
new Claim("RoleId", content.RoleId.ToString()),
};
var ci = new ClaimsIdentity(claims, "password");
await HttpContext.Authentication.SignInAsync("Cookies", new ClaimsPrincipal(ci));
现在,例如,如果用户更改了用户配置文件中的电子邮件,我该如何更改“电子邮件”声明的电子邮件值?我必须再次 SignOutAsync 和 SignInAsync 才能更新 cookie?最好的解决方案是将其保存到经典会话中?有更好的解决方案吗?我完全错了?
有什么建议吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc claims-based-identity asp.net-identity-3