public async Task <ActionResult> Login(FormCollection collection, string returnUrl) { HalconDBEntities db = new HalconDBEntities(); if (!ModelState.IsValid) { return(View()); } // No cuenta los errores de inicio de sesión para el bloqueo de la cuenta // Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "Intento de inicio de sesión no válido."); // return View(model); //} Usuarios objUsuario = new Usuarios(); Manager.Models.Roles objRol = new Manager.Models.Roles(); UsuarioAutenticado objUsuarioAutenticado = new UsuarioAutenticado(); string sNombreUsuario = collection["NombreUsuario"]; string sPassword = collection["Password"]; objUsuario = (from obj in db.Usuarios where obj.NombreUsuario == sNombreUsuario && obj.Password == sPassword /*&& objUsuario.IdEstado == 1*/ select obj).First(); objRol = (from obj in db.Roles where obj.IdRol == objUsuario.IdRol select obj).First(); objUsuarioAutenticado.Apellido = objUsuario.Apellido; objUsuarioAutenticado.IdUsuario = objUsuario.IdUsuario; objUsuarioAutenticado.Nombre = objUsuario.Nombre; objUsuarioAutenticado.NombreUsuario = objUsuario.NombreUsuario; objUsuarioAutenticado.Rol = objRol.Nombre; if (objUsuario == null) { ModelState.AddModelError("", "Intento de inicio de sesión no válido."); return(View()); } else { this.SetAuthCookie(objUsuario.Nombre + " " + objUsuario.Apellido, false, objUsuarioAutenticado); return(RedirectToLocal(returnUrl)); } }
public void Application_AuthenticateRequest(Object src, EventArgs e) { if (!(HttpContext.Current.User == null)) { if (HttpContext.Current.User.Identity.AuthenticationType == "Forms") { Manager.Controllers.RolesController objRolesController = new Controllers.RolesController(); Manager.Models.UsuarioAutenticado objUsuario = new JavaScriptSerializer().Deserialize <Manager.Models.UsuarioAutenticado>(FormsAuthentication.Decrypt(Request.Cookies[".ASPXAUTH"].Values[0]).UserData); System.Web.Security.FormsIdentity id; id = (System.Web.Security.FormsIdentity)HttpContext.Current.User.Identity; Models.Roles objRol = new Models.Roles(); //objRol = objRolesController.Obtener(id); String[] myRoles = new String[1]; myRoles[0] = objUsuario.Rol; //myRoles[1] = "Admin"; HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id, myRoles); } } }
public async Task<ActionResult> Login(FormCollection collection, string returnUrl) { HalconDBEntities db = new HalconDBEntities(); if (!ModelState.IsValid) { return View(); } // No cuenta los errores de inicio de sesión para el bloqueo de la cuenta // Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "Intento de inicio de sesión no válido."); // return View(model); //} Usuarios objUsuario = new Usuarios(); Manager.Models.Roles objRol = new Manager.Models.Roles(); UsuarioAutenticado objUsuarioAutenticado = new UsuarioAutenticado(); string sNombreUsuario = collection["NombreUsuario"]; string sPassword = collection["Password"]; objUsuario = (from obj in db.Usuarios where obj.NombreUsuario == sNombreUsuario && obj.Password == sPassword /*&& objUsuario.IdEstado == 1*/ select obj).First(); objRol = (from obj in db.Roles where obj.IdRol == objUsuario.IdRol select obj).First(); objUsuarioAutenticado.Apellido = objUsuario.Apellido; objUsuarioAutenticado.IdUsuario = objUsuario.IdUsuario; objUsuarioAutenticado.Nombre = objUsuario.Nombre; objUsuarioAutenticado.NombreUsuario = objUsuario.NombreUsuario; objUsuarioAutenticado.Rol = objRol.Nombre; if (objUsuario == null) { ModelState.AddModelError("", "Intento de inicio de sesión no válido."); return View(); } else { this.SetAuthCookie(objUsuario.Nombre + " " + objUsuario.Apellido, false, objUsuarioAutenticado); return RedirectToLocal(returnUrl); } }