2016-01-23 116 views
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應用程序,並試圖找出現在的不同部分。

回答

2

UserManager將散列密碼,並將散列密碼保存在數據庫中。

+0

好吧,但爲什麼我不能只是簡單地添加繼承自IdentityUser的應用程序用戶並將其作爲setter函數?或者至少讓UserManager只把它保存到數據庫中,然後在IdentityUser中完成剩下的工作? –

+0

IdentityUser爲您提供公共虛擬字符串PasswordHash {get;組; }。這是UserManager在對CreateAsync方法中的model.Password參數進行哈希處理後填充的內容。 UserManager也有manager.PasswordValidator(請參閱ApplicationUserManager的Create方法)。所以它在這裏處理額外的功能。 – DeveloperUK

+0

好吧,現在很清楚。謝謝 –