C# Winforms登录中的ASP.NET核心标识未进行身份验证

C# Winforms登录中的ASP.NET核心标识未进行身份验证,c#,asp.net,winforms,authentication,asp.net-identity,C#,Asp.net,Winforms,Authentication,Asp.net Identity,我在Winforms应用程序中使用C#,我将身份连接到数据库中可以找到用户的地方。我有一个简单的登录表单,我无法工作。我可以找到用户,但无法通过密码验证用户。我有一个文本框用户名、一个密码、一个按钮和一个显示结果的标签。这是我的密码: private async void LoginButton_ClickAsync(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Username.Text) &&

我在Winforms应用程序中使用C#,我将身份连接到数据库中可以找到用户的地方。我有一个简单的登录表单,我无法工作。我可以找到用户,但无法通过密码验证用户。我有一个文本框用户名、一个密码、一个按钮和一个显示结果的标签。这是我的密码:

private async void LoginButton_ClickAsync(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(Username.Text) && 
        !String.IsNullOrEmpty(Password.Text))
    {
        var context = new MyDbContext();
        var userManager = new UserManager<ApplicationUser>(new 
            UserStore<ApplicationUser>(context));

        //THIS SUCCESSFULLY FINDS THE USER
        ApplicationUser user = await userManager.FindByEmailAsync(UxUsername.Text);

        if (user == null)
        {
            ResultLabel.Text = "NOT FOUND";
        }

        if (userManager.PasswordHasher.VerifyHashedPassword(user.PasswordHash, Password.Text)
            != PasswordVerificationResult.Failed)
        {
            ResultLabel.Text = "MATCH FOR USER AND PASSWORD!";
        }

        ResultLabel.Text = "NOT FOUND";
    }
}
我正在为MVC应用程序使用同一个数据库,并且使用相同的凭据登录


谢谢。

使用
SignInManager
类中的
CheckPasswordSignInAsync
对用户进行身份验证

ApplicationUser user = await userManager.FindByEmailAsync(UxUsername.Text);
var signInResult = _signInManager.CheckPasswordSignInAsync(user, ,User.Password, false);
要使用
SignInManager
,应将其注入表单类

注意:SignInManager位于
Microsoft.AspNetCore.Identity


如何将SignInManager引入我的Winforms应用程序?我确实对此进行了研究,但我无法让它在我的项目中发挥作用。我可以引入SignInManager,但它是我从Microsoft.AspNet.Identity.Owin引入的-这允许我使用_SignInManager.PasswordSignIn,但这仍然给了我SignInStatus失败的机会。
ApplicationUser user = await userManager.FindByEmailAsync(UxUsername.Text);
var signInResult = _signInManager.CheckPasswordSignInAsync(user, ,User.Password, false);