Exemplo n.º 1
0
        public ActionResult CrearUsuario(string txtNombreUsuario, int listIdRol, string txtContrasena, string txtConfirmarContrasena)
        {
            try
            {
                if (txtContrasena.Equals(txtConfirmarContrasena))
                {
                    if (!txtNombreUsuario.Equals("") && !txtContrasena.Equals("") && !txtConfirmarContrasena.Equals(""))
                    {
                        if (!ModelState.IsValid)
                        {
                            ModelState.AddModelError("", "Usuario o Password Incorrectos");
                            return(View());
                        }
                        else
                        {
                            clsUsuario ObjUsuario = new clsUsuario();

                            var nuevoUsuario = ObjUsuario.ConsultarUsuario1(txtNombreUsuario, Seguridad.Encriptar(txtConfirmarContrasena)).Where(x => x.estado == true);

                            bool Resultado = ObjUsuario.AgregarUsuario(listIdRol,
                                                                       txtNombreUsuario, Seguridad.Encriptar(txtConfirmarContrasena), true);

                            if (Resultado)
                            {
                                TempData["exitoMensaje"] = "El usuario se ha creado exitosamente.";
                                return(RedirectToAction("CrearUsuario"));
                            }
                            else
                            {
                                return(View("CrearUsuario"));
                            }
                        }
                        //}
                        //else
                        //{
                        //    return View("CrearUsuario");
                        //}
                    }
                    else
                    {
                        TempData["errorMensaje"] = "Inserte un nombre de usuario.";
                        return(RedirectToAction("CrearUsuario"));
                    }
                }
                else
                {
                    TempData["errorMensaje"] = "Las contraseñas ingresadas en los campos no coinciden.";
                    return(RedirectToAction("CrearUsuario"));
                }
            }
            catch (Exception)
            {
                TempData["errorMensaje"] = "Todos los campos son obligatorios.";
                return(CrearUsuario());
            }
        }
Exemplo n.º 2
0
        public IHttpActionResult Authenticated(LoginRequest login)
        {
            if (login == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }
            clsUsuario Objusuario = new clsUsuario();
            var        usuario    = Objusuario.ConsultarUsuario1(login.UserName, login.Password).Where(x => x.estado == true);

            if (usuario.Count() > 0)
            {
                var token = TokenGenerator.GenerateTokenJwt(login.UserName);
                return(Ok(token));
            }
            else
            {
                return(Unauthorized());
            }
        }
Exemplo n.º 3
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ModelState.AddModelError("", "Usuario o Password Incorrectos");
                    return(View());
                }
                else
                {
                    clsUsuario Objusuario = new clsUsuario();

                    var usuario = Objusuario.ConsultarUsuario1(model.Usuario, Seguridad.Encriptar(model.Password)).Where(x => x.estado == true);

                    int Rol    = Objusuario.ConsultarRolUsuario(model.Usuario);
                    int estado = Objusuario.ConsultarEstadoUsuario(model.Usuario);
                    if (estado == 1)
                    {
                        if (usuario.Count() > 0)
                        {
                            Session["US"] = model.Usuario;
                            Session["PW"] = model.Password;

                            if (Rol.Equals(1))
                            {
                                Session["ROLES"] = "Admin";
                            }

                            if (Rol.Equals(2))
                            {
                                Session["ROLES"] = "Regular";
                            }

                            if (Rol.Equals(3))
                            {
                                Session["ROLES"] = "Bodega";
                            }

                            string baseUrl = ConfigurationManager.AppSettings["URL_API"];

                            //crea el el encabezado
                            HttpClient client = new HttpClient();
                            client.BaseAddress = new Uri(baseUrl);
                            var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                            client.DefaultRequestHeaders.Accept.Add(contentType);

                            Usuario userModel = new Usuario();
                            userModel.UserName = model.Usuario;
                            userModel.Password = Seguridad.Encriptar(model.Password);

                            string stringData  = JsonConvert.SerializeObject(userModel);
                            var    contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json");

                            HttpResponseMessage response = client.PostAsync("/api/login/authenticate", contentData).Result;
                            var stringJWT = response.Content.ReadAsStringAsync().Result;

                            JWT jwt = new JWT {
                                Token = stringJWT.Replace("\"", "")
                            };

                            //Aca se crea la sesion
                            Session["token"] = jwt.Token;
                            Session["US"]    = model.Usuario.ToUpper();

                            string userData = "Datos específicos de aplicación para este usuario.";

                            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                                                                                             model.Usuario.ToUpper(),
                                                                                             DateTime.Now,
                                                                                             DateTime.Now.AddMinutes(30),
                                                                                             model.RememberMe,
                                                                                             userData,
                                                                                             FormsAuthentication.FormsCookiePath);

                            // Encryptar el ticket.
                            string encTicket = FormsAuthentication.Encrypt(ticket);

                            // Crea la cookie.
                            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));

                            if (!string.IsNullOrEmpty(returnUrl))
                            {
                                return(Redirect(returnUrl));
                            }
                            else
                            {
                                return(RedirectToAction("Index", "Home"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("Error de Autenticación", "Usuario o Contaseña Invalida");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("Error de Autenticación", "El usuario ingresado está deshabilitado");
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error de Autenticación", "Usuario o Contaseña Invalida");
            }
            return(View(model));
        }