上的ASP.NET 1.1的核心应用与ASP.NET身份创建用户我创建了一个用户:没有的UserManager在Asp.Net核心身份
PasswordHasher<User> hasher = new PasswordHasher<User>();
User user = new User {
Email = "[email protected]",
Username = "[email protected]
};
user.PasswordHash = hasher.HashPassword(user, "johnpass");
context.Users.Add(user);
context.SaveChanges();
创建用户,但是当我尝试使用签名以下它失败:
SignInResult result = await _signInManager.PasswordSignInAsync("[email protected]", "johnpass", false, true);
然后我试着用的UserManager创建用户:
PasswordHasher<User> hasher = new PasswordHasher<User>();
User user = new User {
Email = "[email protected]",
Username = "[email protected]
};
await userManager.CreateAsync(user, "johnpass");
现在我能登录。看起来问题是使用HashPassword方法。
有没有人知道如何在没有UserManager的情况下创建用户?
UPDATE
我尝试没有晕晕的注入,因为我创建一个控制台应用程序我的测试数据,而不是在Web应用程序创建的UserManager:
var userStore = new UserStore(Context);
var userManager = new UserManager<User>(userStore, null, null, null, null, null, null, null, null);
创建的用户,但我我仍然无法登录。
这不仅仅是密码散列,还包括安全印章。 – DavidG
安全印章?你能给我一个例子如何解决它? –
那么你已经得到了答案:使用'UserManager' – DavidG