Example #1
0
        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));
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
            }
        }