예제 #1
0
        public ActionResult Login(LoginViewModel model, string returnUrl = null)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            string  _error_con = "";
            Boolean _acceso    = IsValid(model.Usuario, model.Password, ref _error_con);

            string return_action = ""; string return_controller = "";

            if (_acceso)
            {
                if (returnUrl != null)
                {
                    if (returnUrl.Length > 0)
                    {
                        string[] controller_action = returnUrl.Split('|');
                        return_action     = controller_action[0].ToString();
                        return_controller = controller_action[1].ToString();
                    }
                }


                Usuario _usuario = (Usuario)Session[Constantes.NameSessionUser];
                var     identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, _usuario._usu_nom_ape), }, DefaultAuthenticationTypes.ApplicationCookie);
                Authentication.SignIn(new AuthenticationProperties
                {
                    IsPersistent = model.Recordar
                }, identity);


                if (return_action.Length == 0)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    /*validamos las opciones del menu de acceso*/
                    var data  = new Data_Menu();
                    var items = data.navbarItems(_usuario._usu_id).ToList();
                    Session[Global._session_menu_user] = items;
                    return(RedirectToAction(return_action, return_controller));
                    /*************************************/
                }
            }
            else
            {
                if (_error_con == "1")
                {
                    ModelState.AddModelError("", "El intento de conexión no fue correcto. Inténtelo de nuevo");
                    return(View(model));
                }
                else
                {
                    ModelState.AddModelError("", "Usuario y/o Password con incorrectos.");
                    return(View(model));
                }
            }
        }
예제 #2
0
        public ActionResult Menu()
        {
            Usuario _usuario = (Usuario)Session[Constantes.NameSessionUser];
            var     data     = new Data_Menu();

            if (data == null)
            {
                return(View(new LoginViewModel()));
            }

            if (_usuario == null)
            {
                return(View(new LoginViewModel()));
            }
            var items = data.navbarItems(_usuario._usu_id).ToList();

            return(PartialView("_Menu", items));
        }