예제 #1
0
        public ActionResult LoginUsuario(UsuarioModelo objUsuarioLogin)
        {
            try
            {
                ModelState.Remove("Id");
                ModelState.Remove("Identificacion");
                ModelState.Remove("Nombre");
                ModelState.Remove("Apellido");
                ModelState.Remove("Correo");
                ModelState.Remove("Activo");
                ModelState.Remove("Admin");
                if (ModelState.IsValid)
                {
                    objUsuario.AsignarSesion(objSesion);

                    if (objUsuario.Autenticar(ref objUsuarioLogin))
                    {
                        objSesion.Usuario = objUsuarioLogin;
                        objSesionNegocio.AsignarSesion(objSesion);
                        objSesionNegocio.Insertar(objSesion);

                        objSesionNegocio.SetObjectAsJson(HttpContext.Session, "SesionUsuario", objSesion);

                        var claims = new List <Claim>
                        {
                            new Claim(ClaimTypes.Name, objUsuarioLogin.Usuario),
                            new Claim(ClaimTypes.NameIdentifier, objUsuarioLogin.Id.ToString())
                        };

                        ClaimsIdentity  userIdentity = new ClaimsIdentity(claims, "login");
                        ClaimsPrincipal principal    = new ClaimsPrincipal(userIdentity);

                        HttpContext.SignInAsync(principal);

                        return(RedirectToAction("UsuarioDashBoard", "Usuario"));
                    }
                    else
                    {
                        TempData["UserLoginFailed"] = "Login Failed.Please enter correct credentials";
                        return(View());
                    }
                }
                else
                {
                    Random rdmFoto = new Random();
                    ViewBag.Foto = string.Format("/images/fondos/{0}.jpg", rdmFoto.Next(1, 6));
                    return(View());
                }
            }
            catch (Exception ex)
            {
                Mensajes.EscribirLog(Constantes.MensajeError, ex.Message, "LoginController - LoginUsuario");
                return(View());
            }
        }
예제 #2
0
        public ActionResult UsuarioMenu()
        {
            try
            {
                SesionNegocio objSesionNegocio = new SesionNegocio();
                SesionModelo  objSesion        = objSesionNegocio.GetObjectFromJson <SesionModelo>(HttpContext.Session, "SesionUsuario");
                objUsuario.AsignarSesion(objSesion);

                List <UsuarioMenuModelo> lisMenus = objUsuario.ListarMenu(Convert.ToInt32(objSesion.Usuario.Id));
                StringBuilder            strMenu  = new StringBuilder("<li>");
                for (int i = 0; i < lisMenus.Count; i++)
                {
                    if (lisMenus[i].SubOrden == null)
                    {
                        strMenu.Append("<button class=\"dropdown-btn\">");
                        strMenu.Append(string.Concat("<i class=\"", lisMenus[i].Imagen, "\"></i>&nbsp;&nbsp;", lisMenus[i].Nombre));
                        strMenu.Append("</button>");

                        strMenu.Append("<div class=\"dropdown-container\">");
                        for (int j = i; j < lisMenus.Count; j++)
                        {
                            if (lisMenus[i].Orden == lisMenus[j].Orden && lisMenus[i].Id != lisMenus[j].Id)
                            {
                                strMenu.Append(string.Concat("<a href=\"#\" onclick=\"cargarVista('", lisMenus[j].Vista, "');\"><i class=\"", lisMenus[j].Imagen, "\"></i>&nbsp;&nbsp;", lisMenus[j].Nombre, "</a>"));
                            }
                        }
                        strMenu.Append("</div>");
                    }
                }
                strMenu.Append("</li>");
                ViewBag.Arbol = strMenu;
                return(View());
            }
            catch (Exception ex)
            {
                Mensajes.EscribirLog(Constantes.MensajeError, ex.Message, "UsuarioController - UsuarioMenu");
                return(View());
            }
        }