C# 如何在登录ASP.net Identity之前验证用户的用户名和密码?

C# 如何在登录ASP.net Identity之前验证用户的用户名和密码?,c#,asp.net,asp.net-membership,C#,Asp.net,Asp.net Membership,在我的ASP.Net应用程序中,希望在将用户登录到应用程序之前验证他们的用户名和密码。我正在使用ASP.net身份框架作为会员 要确保输入的用户名和密码是否存在。 类似于此的内容Membership.ValidateUser(用户名、密码)用于默认成员身份,但不能与ASP.net标识一起使用。 试过这个但没有运气 var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); var

在我的ASP.Net应用程序中,希望在将用户登录到应用程序之前验证他们的用户名和密码。我正在使用ASP.net身份框架作为会员

要确保输入的用户名和密码是否存在。 类似于此的内容
Membership.ValidateUser(用户名、密码)
用于默认成员身份,但不能与ASP.net标识一起使用。 试过这个但没有运气

var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();

var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>();

var user = manager.Find(userName,Password);
var-manager=Context.GetOwinContext().GetUserManager();
var signinManager=Context.GetOwinContext().GetUserManager();
var user=manager.Find(用户名、密码);
var-manager=Context.GetOwinContext().GetUserManager();
var signinManager=Context.GetOwinContext().GetUserManager();
var user=manager.FindByName(Email.Text);
//登录前检查凭据。。
var validCredentials=signinManager.UserManager.CheckPassword(user,Password.Text);
如果(有效的重新定义)
{
//如果用户的凭据有效并且在登录之前运行的示例代码
如果(!manager.IsInRole(user.Id,“Administrators”))
{
FailureText.Text=“您需要更高的权限级别才能登录”;
返回;
}
}
//然后登录
var result=signinManager.PasswordSignIn(Email.Text、Password.Text、RememberMe.Checked、shouldllockout:false);

我使用类似这样的方法:

public static bool ValidateUser(string Email, string Password)
    {
        var user = UserManager.FindByName(Email);
        return SignInManager.UserManager.CheckPassword(user, Password); 
    }

请将aelagawy的回答标记为已接受,因为它似乎回答了您的问题。如果您使用的是异步版本(您可能应该这样做),请不要忘记
wait
public static bool ValidateUser(string Email, string Password)
    {
        var user = UserManager.FindByName(Email);
        return SignInManager.UserManager.CheckPassword(user, Password); 
    }