在MVC5中如何在代码中创建用户记录?

时间:2015-03-02 00:33:44

标签: asp.net-mvc vb.net asp.net-identity httpcontext

VS2013,MVC5,VB

MVC5模板适用于在应用程序运行时从“注册视图”创建新用户。但是,如果我想在代码中创建用户,我该怎么做?

以下是天真的代码,但演示了什么不起作用:

Dim user = New ApplicationUser() With {.UserName = "name@live.com", .Email = "name@live.com"}
Dim acct As New AccountController
acct.UserManager.CreateAsync(user, "Temp1.11")

这不起作用,因为UserManager没有HttpContext。

这里有很多我不理解的东西,我有点失落。我打算做的只是使用Configuration.vb中的种子方法创建一个用户列表。我以为我可以复制现有AccountController.Register方法的工作方式,但显然不是。

我的问题的答案最终将是如何在种子中创建用户,但我也想了解为什么我的想法仅仅是尝试使用Register方法中的部分代码是如此错误。我不太了解HttpContext以及它是如何形成的。

1 个答案:

答案 0 :(得分:1)

您无需使用AccountController即可访问UserManager对象。而是直接创建它:

Dim user = New ApplicationUser() With {.UserName = "name@live.com", .Email = "name@live.com"}
Dim myUserManager As New UserManager()
myUserManager.CreateAsync(user, "Temp1.11")