C# ASP.NET身份用户创建

C# ASP.NET身份用户创建,c#,asp.net,asp.net-identity,C#,Asp.net,Asp.net Identity,只是为了一般理解,我不明白为什么要设置一次,用用户名和电子邮件创建ApplicationUser,另一方面单独创建一个UserManager,然后设置密码: var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); 顺便说一句:我刚刚创建了一个空的.NET 4.6

只是为了一般理解,我不明白为什么要设置一次,用用户名和电子邮件创建ApplicationUser,另一方面单独创建一个UserManager,然后设置密码:

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只将其保存到DB中,并在IdentityUser中执行其余操作?IdentityUser为您提供公共虚拟字符串PasswordHash{get;set;}。这是UserManager在对CreateAsync方法中的model.Password参数进行散列后填充的内容。UserManager还具有manager.PasswordValidator(请参阅ApplicationUserManager创建方法)。因此,它在这里处理额外的功能。