0
ASP.Net身份有問題。我通過以下方式創建用戶:ASP.Net身份 - 無法使用密碼登錄
var manager = new UserManager<IdentityUser>(userStore);
manager.UserValidator = new UserValidator<IdentityUser>(manager)
{
AllowOnlyAlphanumericUserNames = false
};
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
var user = new IdentityUser() { UserName = email.Text, Email = email.Text };
IdentityResult result = manager.Create(user, Password1.Text);
然後這會將用戶添加到數據庫中。然後,當我嘗試使用此用戶登錄時,即使密碼與用於創建帳戶的密碼相同,它也會始終返回「密碼不正確」。
我登錄使用:
var userStore = new UserStore<IdentityUser>();
var userManager = new UserManager<IdentityUser>(userStore);
userManager.UserValidator = new UserValidator<IdentityUser>(userManager)
{
AllowOnlyAlphanumericUserNames = false
};
var user = userManager.Find(email.Text, Password.Text);
if (user != null)
使用SQL事件探查器,我可以看到它正確地查找用戶,當我在SSMS運行SQL我可以看到該行返回的罰款。
我不確定爲什麼userManager.Find在從數據庫返回的實際記錄數爲1時返回null?
這是一個MVC應用程序?我相信你應該使用SignInManager類。 – JuanR
如果分析器顯示返回數據的查詢,則散列算法不成問題。添加你的經理'Create'和'Find'方法,以便它可以複製 – bradbury9
@Juan它的一個ASP.Net Web窗體項目。 – Dean