简体   繁体   English

ASP.Net身份-无法使用密码登录

[英]ASP.Net Identity - cannot login with password

Having some issue with ASP.Net Identity. ASP.Net Identity出现问题。 I am creating a user via: 我通过以下方式创建用户:

 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);

This then adds the user to the database. 然后,将用户添加到数据库。 When I then try and login with this user it always returns "Password incorrect" even when the password was the same password used to create the account. 然后,当我尝试使用该用户登录时,即使密码与用于创建帐户的密码相同,它也始终会返回“密码错误”。

I am logging in using: 我正在使用登录:

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)

Using SQL Profiler I can see that that it looks up the user correctly and when I run the SQL in SSMS I can see the row is returned fine. 使用SQL事件探查器,我可以看到它正确地查找了用户,并且当我在SSMS中运行SQL时,我可以看到该行返回的很好。

I'm not sure why userManager.Find is returning null when the actual record count returned from the database is 1? 我不确定从数据库返回的实际记录数为1时,为什么userManager.Find返回null?

Use the SignInManager 使用SignInManager

SignInManager<IdentityUser> _signInManager; // Inject 

var result = await _signInManager.PasswordSignInAsync(email.Text, Password.Text, true, lockoutOnFailure: true);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM