如何创建ASP ?可以登录的. NET标识用户



我有一个ASP。具有内部个人用户帐户的。NET web应用程序。我想从外部程序创建这些用户帐户。我有一个引用Microsoft.AspNet.Identity的程序。其中我创建了users:

var userStore = new UserStore<IdentityUser>();
var um = new UserManager<IdentityUser>(userStore);
//...
var newUser = new IdentityUser(userName);
newUser.Email = userName;
var result = um.Create(newUser, "P@ssword1");

然而,当我运行第一个应用程序并尝试登录时,SignInManager.PasswordSignInAsync总是返回SignInStatus.Failure。(我很确定用户名和密码是正确的;我从数据库复制用户名,并从代码复制密码。)它不应该起作用吗?我错过什么了吗?

事实证明,罪魁祸首是IdentityUser。我不知道为什么(我猜securitystamp与它有关),但您需要制作ApplicationUser s。所以我包含了一个web应用程序的参考,所以我可以做一个ApplicationUser而不是IdentityUser:

var userStore = new UserStore<ApplicationUser>(new ApplicationDbContext());
var um = new UserManager<ApplicationUser>(userStore);
//...
var newUser = new ApplicationUser();
newUser.Email = user.UserName;
newUser.UserName = user.UserName;
var result = um.Create(newUser, "P@ssword1");

相关内容

  • 没有找到相关文章

最新更新