我有一个与 ASP.NET Identity 一起使用的旧数据库。为了使用身份函数,每个用户的数据库中都需要一个 SecurityStamp 值。

有些人在与此相关的其他问题中提到该值可以是“任何随机值,例如随机整数”,但这对我来说听起来不对!?

我使用以下代码在数据库中创建了一个新用户:

IdentityResult result = await UserManager.CreateAsync(user, model.Password);

并用以下值填充它:cea9a659-e965-4e76-8203-ed1c79491fa7
这对我来说似乎比随机 int 更“安全”,尤其是当它被称为 SecurityStamp 时,它​​似乎应该以相同的方式为我的数据库中的所有用户填充。

如何正确填充用户数据库的 SecurityStamp 值?

最佳答案

默认情况下,Security Stamp 是 GUID,我还没有看到任何修改它的方法。因此,如果您想为所有现有用户填充该值,只需运行 sql:

update AspNetUsers
set SecurityStamp = NEWID()
where SecurityStamp is null

关于c# - 在 ASP.NET Identity 中为数据库中的旧用户填充 SecurityStamp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25962245/

10-14 18:04
查看更多