在我的MVC-5应用程序中,我必须手动创建安全戳值。身份团队的当前实现似乎使用了guid。
Guid.NewGuid().ToString("D")
我自己创建一个新的Guid作为新的安全戳值是否安全,或者这会在未来的asp.net身份实现中导致问题吗
有没有一种方法可以让身份框架为我创建这样一个戳值,以便我的实现对未来的更改是安全的?
在实体框架的身份实现文档中,它似乎可以是任何随机值:
IdentityUser。SecurityStamp属性
因此,guid似乎很好,下面的代码对于asp.net标识的未来版本也应该是可靠的。
Guid.NewGuid().ToString("D")
ASP。NET Identity UserManager
提供了自动更新用户安全戳的方法UpdateSecurityStampAsync(string userId)
。以便下次validateInterval
结束时,用户将自动注销并强制再次登录.in。
UserManager.UpdateSecurityStampAsync(userId);
聚会有点晚,但这些似乎都很好:
await _userManager.UpdateSecurityStampAsync(user);
await _userManager.UpdateNormalizedEmailAsync(user);
await _userManager.UpdateNormalizedUserNameAsync(user);
await _userManager.SetLockoutEnabledAsync(user, true);