【发布时间】:2014-10-14 03:00:42
【问题描述】:
我可以用旧的方式创建用户:
var users = new List<ApplicationUser> {
new ApplicationUser{PasswordHash = hasher.HashPassword("TestPass44!"), Email = "informatyka4444@wp.pl", UserName = "informatyka4444@wp.pl", SecurityStamp = Guid.NewGuid().ToString()},
new ApplicationUser{PasswordHash = hasher.HashPassword("TestPass44!"), Email = "informatyka4445@wp.pl", UserName = "informatyka4445@wp.pl", SecurityStamp = Guid.NewGuid().ToString()}
};
users.ForEach(user => context.Users.AddOrUpdate(user));
context.SaveChanges();
但我想以 ASP.NET MVC 5.1 的方式使用 UserManager。我偷看了Register POST 方法在AccountController 中的样子:
public async Task<ActionResult> Register(RegisterViewModel model) {
if (ModelState.IsValid) {
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded) { [...]
所以我尝试做同样的事情:
var user = new ApplicationUser() { Email = "informatyka4444@wp.pl",
UserName = "informatyka4444@wp.pl"};
IdentityResult result = UserManager.CreateAsync(user, "abcwq12312!P");
但我明白了:
如果我只输入UserManager. VS2013 也不会在列表中显示任何方法。
那么如何通过这种方式添加用户呢?
编辑1:
【问题讨论】:
-
您是否有任何特殊原因要使用 UserManager 类?通常我会建议在 Seed 方法中使用上下文(而不是 Identity 的东西 - 在数据库播种期间它的异步方法没有任何好处)和 Identity 框架的其余部分应用程序(不使用任何上下文)。
-
@Horizon_Net 我想学习怎么做。
标签: c# .net asp.net-identity seed asp.net-mvc-5.1