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