2017-01-13 24 views
1

В моем приложении ASP.Net вы хотите проверить имя пользователя и пароль пользователей, прежде чем регистрировать их в приложении. Я использую ASP.NET Identity framework для членства.Как подтвердить имя пользователя и пароль пользователя перед входом в ASP.net Identity?

Хотите знать, имеются ли введенные имя пользователя и пароль. что-то вроде этого Membership.ValidateUser(username,password), который использовался в членстве по умолчанию, но не может использоваться с идентификатором ASP.net. Пробовал это, но не повезло?

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

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

var user = manager.Find(userName,Password); 
+1

Пожалуйста, отметьте ответ aelagawy как принято, как это кажется, чтобы ответить на ваш вопрос. – Megrez7

ответ

2
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>(); 
var user = manager.FindByName(Email.Text); 

//check for credentials before sign in ..  
var validCredentials = signinManager.UserManager.CheckPassword(user, Password.Text); 
if (validCredentials) 
{ 
    //sample code to run if user's credentials is valid and before login 
    if(!manager.IsInRole(user.Id, "Administrators")) 
    { 
     FailureText.Text = "you need a higher permission level in order to login"; 
     return; 
    } 
} 

//then sign in 
var result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false); 
0

Я использую что-то вроде этого:

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

 Смежные вопросы

  • Нет связанных вопросов^_^