public ActionResult LogOut() { AXFSesionInterfaceClient AXFSesion = new AXFSesionInterfaceClient(); try { long resp = AXFSesion.WebEliminarSesion((string)Session["Sesion"], (string)Session["SesionSubCompania"]); Session.Clear(); } catch (Exception) { } return(RedirectToAction("Login", "Login")); }
// GET: Base protected override void OnActionExecuting(ActionExecutingContext filterContext) { AXFSesionInterfaceClient AXFSesion = new AXFSesionInterfaceClient(); AXFUsuarioInterfaceClient AXFUsuario = new AXFUsuarioInterfaceClient(); AXFWebMenuInterfaceClient AXFWebMenu = new AXFWebMenuInterfaceClient(); AXFWebVistaInterfaceClient AXFWebVista = new AXFWebVistaInterfaceClient(); List <AXFWebMenuEntity> ltAXFWebMenuLic = new List <AXFWebMenuEntity>(); long NumError = 0; if (Session["Sesion"] != null) { if (NumError == 0) { List <AXFWebVistaEntity> ltAXFWebVista = AXFWebVista.WebAXFWebVistaSeleccionarXSubCompania((string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]); List <AXFWebMenuEntity> ltAXFWebMenu = AXFWebMenu.WebAXFWebMenuSeleccionarXUsuarioSubCompania((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]); foreach (AXFWebVistaEntity etAXFWebVista in ltAXFWebVista) { List <AXFWebMenuEntity> ltWebMenuEntity = ltAXFWebMenu.Where(x => etAXFWebVista.WebControlador.Contains(x.WebControlador)).ToList(); if (ltWebMenuEntity.Count() > 0) { //AXFWebMenuEntity etWebMenu = ltWebMenuEntity.First(); foreach (var WebMenu in ltWebMenuEntity) { if (!ltAXFWebMenuLic.Contains(WebMenu)) { ltAXFWebMenuLic.Add(WebMenu); } } } } //var lt = ltAXFWebMenuLic.OrderBy(x => x.Orden).ToList(); ViewBag.ltAXFWebMenu = new List <AXFWebMenuEntity>(); List <AXFUsuarioClaseUsuarioEntity> ltAXFUsuarioClaseUsuario = AXFUsuario.WebAXFUsuarioClaseUsuarioSeleccionarKeyAXFUsuario((string)Session["Usuario"], (string)Session["SesionSubCompania"], (string)Session["Sesion"], (string)Session["SesionSubCompania"]); foreach (AXFUsuarioClaseUsuarioEntity etAXFUsuarioClaseUsuario in ltAXFUsuarioClaseUsuario) { ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_steward2.svg.png"; if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Administrador") { ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_steward2.svg.png"; ViewBag.ltAXFWebMenu = ltAXFWebMenuLic.Where(x => x.Texto0 == "SuperAdmin").OrderBy(x => x.Orden).ToList(); } else if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Estudiante") { ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_check2.svg.png"; } else if (etAXFUsuarioClaseUsuario.ClaseUsuario == "Instructor") { ViewBag.Ruta = "~/Imagenes/Gnome-stock_person_bureau.svg.png"; } } base.OnActionExecuting(filterContext); } else { filterContext.Result = new RedirectResult("~/Login/Login"); } } else { filterContext.Result = new RedirectResult("~/Login/Login"); } }
//[ValidateAntiForgeryToken] public async Task <ActionResult> Login(string Usuario, string Password) { if (!ModelState.IsValid) { return(View(/*model*/)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return View(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("", "Invalid login attempt."); // return View(model); //} AXFUsuarioInterfaceClient AXFUsuario = new AXFUsuarioInterfaceClient(); AXFSesionInterfaceClient AXFSesion = new AXFSesionInterfaceClient(); string SubCompania = "CIACTAS"; string SesionResp = string.Empty; if (Usuario != "" && Password != "" && SubCompania != "") { //Es login normal //Verificamos si tiene sesion List <AXFSesionEntity> ltAXFSesion = AXFSesion.WebAXFSesionSeleccionarXUsuarioSubCompania(Usuario, SubCompania); if (ltAXFSesion.Count > 0) { bool UsuarioValido = AXFUsuario.WebAXFUsuarioEsValido(Usuario, Password, SubCompania, ltAXFSesion.First().Sesion, SubCompania); if (UsuarioValido) { AXFSesion.WebEliminarSesion(ltAXFSesion.First().Sesion, SubCompania); } } SesionResp = AXFSesion.WebAccesoValidoAdmin(Usuario, Password, SubCompania, "CIACTAS PRODUCTO"); if (SesionResp != "") { //Seleccionamos los datos primarios del Usuario para mostrar AXFUsuarioSet setAXFUsuario = AXFUsuario.WebSeleccionar(Usuario, SubCompania, SesionResp, SubCompania); List <AXFUsuarioEntity> ltAXFUsuario = setAXFUsuario.ltAXFUsuario; AXFUsuarioEntity etAXFUsuario = ltAXFUsuario.First(); var BloqueoIngresoCount = setAXFUsuario.ltAXFUsuarioPropiedad.Where(x => x.Propiedad == "BloqueoIngreso" && x.Valor == "Si").Count(); var BajaEstudianteCount = setAXFUsuario.ltAXFUsuarioPropiedad.Where(x => x.Propiedad == "BajaEstudiante" && x.Valor == "Si").Count(); Session["Nombre"] = etAXFUsuario.Nombre; Session["Sesion"] = SesionResp; Session["Usuario"] = Usuario; Session["SesionSubCompania"] = SubCompania; //Checkeamos si este usuario no esta bloqueado if (BloqueoIngresoCount == 0 && BajaEstudianteCount == 0) { return(RedirectToAction("Index", "Index")); } else { return(RedirectToAction("Login")); } } else { string msgSessionError; List <AXFSesionMensajeEntity> ltAXFSesionError = null; var ltMsgs = new List <string>(); ltAXFSesionError = AXFSesion.WebAXFSesionMensajeSeleccionarKeyAXFSesion("Error" + Usuario, SubCompania, "Error" + Usuario, SubCompania); if (ltAXFSesionError.Count > 0) { foreach (AXFSesionMensajeEntity etAXFSesionMensaje in ltAXFSesionError) { msgSessionError = etAXFSesionMensaje.TextoMensaje; ltMsgs.Add(msgSessionError); } AXFSesion.WebLimpiarMensajes("Error" + Usuario, SubCompania); AXFSesion.WebEliminarSesion("Error" + Usuario, SubCompania); } TempData["ltMensajes"] = ltMsgs; return(RedirectToAction("Login")); } } else { //No hay login return(RedirectToAction("Login")); } }