如何在MVC5中设置用户的SecurityStamp?

时间:2014-11-17 15:03:29

标签: c# asp.net-mvc asp.net-identity

我有一个MVC5,它为用户使用ASP.NET Identity。我有一个名为Business的类,它继承自ApplicationUser,然后我用CSV文件中的条目填充数据库,但是在数据库中他们没有SecurityStamp,我似乎无法登录。我在Configuration.cs文件中尝试过类似的东西,但它似乎不起作用:

var userManager = new UserManager<Business>(new UserStore<Business>(context));

foreach (Business b in context.Businesses)
{
      userManager.UpdateSecurityStampAsync(b.Id);
}

context.SaveChanges();

请注意,最初他们的SecurityStamp在数据库中为空。任何想法,如何从Configuration.cs添加安全标记?

1 个答案:

答案 0 :(得分:3)

您应该始终使用非等待的方法的非异步版本。

userManager.UpdateSecurityStamp(b.Id);

context.Businesses更改为context.Businesses.ToList()

您获得的错误There is already an open DataReader associated with this Connection which must be closed first.可能是因为您正在迭代从数据库中流式传输对象的集合,同时尝试通过UpdateSecurityStamp

发出其他命令