public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (HttpContext.Current.User.Identity.IsAuthenticated) { if (HttpContext.Current.Session["SessionTipoUsuario"] == null) { UsuarioModels Usuario = new UsuarioModels(); _Usuario_Datos usuario_datos = new _Usuario_Datos(); Usuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Usuario.cuenta = user.Identity.Name; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName(Usuario); HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; } else { int TipoUsuario = (int)HttpContext.Current.Session["SessionTipoUsuario"]; HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsuario; } if (HttpContext.Current.Session["SessionListaPermiso"] == null) { UsuarioModels Usuario = new UsuarioModels(); LoginDatos LoginD = new LoginDatos(); Usuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; Usuario.cuenta = user.Identity.Name; Usuario = LoginD.ObtenerPermisos(Usuario); List <string> ListaPermiso = new List <string>(); foreach (var item in Usuario.ListaPermisos) { ListaPermiso.Add(item.NombreUrl); } HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } else { List <string> ListaPermiso = new List <string>(); ListaPermiso = (List <string>)HttpContext.Current.Session["SessionListaPermiso"]; HttpContext.Current.Session["SessionListaPermiso"] = ListaPermiso; } if (HttpContext.Current.Session["NombreUsuario"] == null) { UsuarioModels CuentaUsuario = new UsuarioModels(); CuentaUsuario.conexion = Conexion; IPrincipal user = HttpContext.Current.User; CuentaUsuario.id_usuario = user.Identity.Name; int TipoUsuario = (int)HttpContext.Current.Session["SessionTipoUsuario"]; CuentaUsuario.id_tipoUsuario = TipoUsuario; CuentaUsuario = _Usuario_Datos.ObtenerUsuario(CuentaUsuario); HttpContext.Current.Session["NombreUsuario"] = CuentaUsuario.tablaUsuario.Rows[0]["Nombre"]; } else { string NombreUsuario = (string)HttpContext.Current.Session["NombreUsuario"]; HttpContext.Current.Session["NombreUsuario"] = NombreUsuario; } } }
public ActionResult Index() { try { FormsAuthentication.SignOut(); if (User.Identity.IsAuthenticated) { UsuarioModels usuario = new UsuarioModels(); _Usuario_Datos UsuarioDatos = new _Usuario_Datos(); usuario.conexion = Conexion; usuario.cuenta = User.Identity.Name; int TipoUsario = UsuarioDatos.ObtenerTipoUsuarioByUserName(usuario); if (TipoUsario == 1) { return(RedirectToAction("Index", "HomeAdmin", new { Area = "Admin" })); } //else if (id_tipoUsuario == "1") //{ // return RedirectToAction("Index", "HomeProfesor", new { Area = "Profesor" }); //} else { return(RedirectToAction("LogOff", "Account")); } } else { return(View()); } } catch (Exception) { return(RedirectToAction("LogOff", "Account")); } }
public ActionResult Index(UsuarioModels model, string returnUrl) { try { LoginDatos UD = new LoginDatos(); model.conexion = Conexion; model = UD.ValidarUsuario(model); if (model.opcion == 1) { FormsAuthentication.SignOut(); _Usuario_Datos usuario_datos = new _Usuario_Datos(); UsuarioModels usuario = new UsuarioModels(); usuario.conexion = Conexion; usuario.cuenta = model.id_usuario; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName(usuario); System.Web.HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; FormsAuthentication.SetAuthCookie(model.id_usuario, model.RememberMe); HttpCookie authCookie = FormsAuthentication.GetAuthCookie(model.id_usuario, model.RememberMe); FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value); List <string> listaPermiso = new List <string>(); foreach (var item in model.ListaPermisos) { listaPermiso.Add(item.NombreUrl); } System.Web.HttpContext.Current.Session["SessionListaPermiso"] = listaPermiso; System.Web.HttpContext.Current.Session["NombreUsuario"] = model.nombreCompleto; if (TipoUsario == 1) { return(RedirectToAction("Index", "HomeAdmin", new { Area = "Admin" })); } else { ModelState.AddModelError("", "No tienes permisos"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } } else if (model.opcion == 2) { ModelState.AddModelError("", "Usuario no existe"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 3) { ModelState.AddModelError("", "Error de Contraseña"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else if (model.opcion == 4) { ModelState.AddModelError("", "El usuario tiene que ser de tipo. Administrador"); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } else { ModelState.AddModelError("", "El usuario o contraseña son incorrectos!!."); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } } catch (Exception ex) { ModelState.AddModelError("", "Contacte a soporte técnico. " + ex.Message); Session.Abandon(); Session.Clear(); Session.RemoveAll(); return(View(model)); } }