1
只是为了一般性理解,为什么它被设置一次,以创建用户名和电子邮件,并在另一方面一个单独的UserManager,然后设置密码的ApplicationUser我不明白这一点:ASP.NET用户身份创建
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
顺便说一句:我刚刚创建了一个空的.NET 4.6.1应用程序,并试图找出现在的不同部分。
好吧,但为什么我不能只是简单地添加继承自IdentityUser的应用程序用户并将其作为setter函数?或者至少让UserManager只把它保存到数据库中,然后在IdentityUser中完成剩下的工作? –
IdentityUser为您提供公共虚拟字符串PasswordHash {get;组; }。这是UserManager在对CreateAsync方法中的model.Password参数进行哈希处理后填充的内容。 UserManager也有manager.PasswordValidator(请参阅ApplicationUserManager的Create方法)。所以它在这里处理额外的功能。 – DeveloperUK
好吧,现在很清楚。谢谢 –