tutorial - Cómo validar usuario o autenticar mediante programación en ASP.NET MVC 5.1.2 OWIN
mvc c# paso a paso (1)
public static ApplicationUserManager Manager {
get {
return _userManager ?? HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set {
_userManager = value;
}
}
public static async Task<ApplicationUser> GetUserAsync(string userName, string password) {
return await Manager.FindAsync(userName: userName, password: password);
}
public static ApplicationUser GetUserByEmail(string email, string password) {
var user = Manager.FindByEmail(email);
return Manager.Find(user.UserName, password);
}
si esos devuelven a cualquier usuario, entonces debemos asumir que el usuario es válido o no.
¿Cómo validar usuario en ASP.NET MVC 5.1.2?
En versiones anteriores de MVC 3,4 teníamos membresía simple. Entonces usamos membership.validate (user.name, password). Pero las cosas han cambiado completamente en asp.net mvc 5.
Después del inicio de sesión programático como
await SignInAsync(user, model.RememberMe); // after login HttpContext.Current.User.Identity.IsAuthenticated is false . Odd.
private async Task SignInAsync(ApplicationUser user, bool isPersistent) {
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, await user.GenerateUserIdentityAsync(Manager));
}
No hay un sistema de autenticación anterior. Para validar a un usuario podemos hacer esto: