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)); } }
public ActionResult Index(CatAdministrativoModels model, string returnUrl) { LoginDatos UD = new LoginDatos(); model.conexion = Conexion; model = UD.ValidarUsuario(model); if (model.opcion == 1) { FormsAuthentication.SignOut(); UsuarioDatos usuario_datos = new UsuarioDatos(); UsuarioModels usuario = new UsuarioModels(); usuario.conexion = Conexion; usuario.cuenta = model.id_administrativo; int TipoUsario = usuario_datos.ObtenerTipoUsuarioByUserName2(usuario); System.Web.HttpContext.Current.Session["SessionTipoUsuario"] = TipoUsario; FormsAuthentication.SetAuthCookie(model.id_administrativo, model.RememberMe); HttpCookie authCookie = FormsAuthentication.GetAuthCookie(model.id_administrativo, 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; //AdministrativoPermisoJson Json = new AdministrativoPermisoJson { NombreURl = listaPermiso}; //string userDataString = JsonConvert.SerializeObject(Json); //FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(TipoUsario, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, userDataString); //authCookie.Value = FormsAuthentication.Encrypt(newTicket); //Response.Cookies.Add(authCookie); string id_tipoUsuario = usuario_datos.ObtenerTipoUsuarioByUserName(usuario); if (id_tipoUsuario == "3") { return(RedirectToAction("Index", "HomeAdmin", new { Area = "Admin" })); } else if (id_tipoUsuario == "1") { return(RedirectToAction("Index", "HomeProfesor", new { Area = "Profesor" })); } 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 ó Profesor"); 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)); } }