public static string CerrarSesion() { CObjeto Respuesta = new CObjeto(); CUnit.Firmado(delegate(CDB Conn) { string Error = Conn.Mensaje; if (Conn.Conectado) { string Cookie = ""; Cookie = HttpContext.Current.Request.Cookies[CMD5.Encriptar("KeepUnitUserCookie")].Value; string Query = "SELECT * FROM Usuario WHERE Cookie = @Cookie"; Conn.DefinirQuery(Query); Conn.AgregarParametros("@Cookie", Cookie); CObjeto Registro = Conn.ObtenerRegistro(); int IdUsuario = (int)Registro.Get("IdUsuario"); if (IdUsuario != 0) { HttpContext.Current.Response.Cookies[CMD5.Encriptar("KeepUnitUserCookie")].Expires = DateTime.Today.AddDays(-1); } } Respuesta.Add("Error", Error); Conn.Cerrar(); }); return(Respuesta.ToString()); }
public bool tienePermiso(string accion) { bool permiso = false; CUnit.Firmado(delegate(CDB Conn) { CDB conn = new CDB(); int IdPerfil = 0; HttpCookie Dato = HttpContext.Current.Request.Cookies[CMD5.Encriptar("KeepUnitUserCookie")]; if (Dato != null) { string Cookie = Dato.Value; string Query = "SELECT IdUsuario, IdPerfil FROM Usuario WHERE Cookie = @Cookie"; Conn.DefinirQuery(Query); Conn.AgregarParametros("@Cookie", Cookie); CObjeto Registro = Conn.ObtenerRegistro(); CUsuario Usuario = new CUsuario(); Usuario.IdUsuario = (Registro.Exist("IdUsuario")) ? (int)Registro.Get("IdUsuario") : 0; Usuario.Obtener(Conn); IdPerfil = Usuario.IdPerfil; } //Obtengo los permisos del usuario dependiendo su perfil string query = "EXEC sp_PerfilPermiso_Consulta @Opcion, @IdPerfil, @IdPagina"; conn.DefinirQuery(query); conn.AgregarParametros("@Opcion", 1); conn.AgregarParametros("@IdPerfil", IdPerfil); conn.AgregarParametros("@IdPagina", 0); SqlDataReader Datos = conn.Ejecutar(); if (Datos.HasRows) { while (Datos.Read()) { //Valido si existe el permiso seleccionado en su lista de permisos if (accion == Datos["Comando"].ToString()) { permiso = true; break; } } } Datos.Close(); }); return(permiso); }
private static void Acceder(int IdUsuario, CDB Conn) { CUsuario Usuario = new CUsuario(); Usuario.IdUsuario = IdUsuario; Usuario.Obtener(Conn); if (Usuario.IdUsuario != 0) { Usuario.FechaUltimoAcceso = DateTime.Now; Usuario.IP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); Usuario.Cookie = CMD5.Encriptar(Usuario.IP + Usuario.FechaUltimoAcceso.ToShortDateString() + Usuario.IdUsuario.ToString()); Usuario.Editar(Conn); HttpContext.Current.Response.Cookies[CMD5.Encriptar("KeepUnitUserCookie")].Value = Usuario.Cookie; //CMail.EnviarCorreo("*****@*****.**", Usuario.Correo, "Inicio de sesión", "Se ha iniciado sesión desde: "+ Usuario.IP); } }
public static int ObtieneUsuarioSesion(CDB Conn) { int IdUsuario = 0; HttpCookie Dato = HttpContext.Current.Request.Cookies[CMD5.Encriptar("KeepUnitUserCookie")]; if (Dato != null) { string Cookie = Dato.Value; string Query = "SELECT IdUsuario FROM Usuario WHERE Cookie = @Cookie"; Conn.DefinirQuery(Query); Conn.AgregarParametros("@Cookie", Cookie); CObjeto Registro = Conn.ObtenerRegistro(); CUsuario Usuario = new CUsuario(); Usuario.IdUsuario = (Registro.Exist("IdUsuario")) ? (int)Registro.Get("IdUsuario") : 0; Usuario.Obtener(Conn); IdUsuario = Usuario.IdUsuario; } return(IdUsuario); }
protected void Page_Load(object sender, EventArgs e) { HttpContext.Current.Response.Cookies[CMD5.Encriptar("KeepUnitUserCookie")].Expires = DateTime.Today.AddDays(-1); string Contenido = ""; CUnit.Accion(delegate(CDB Conn) { Contenido = CViews.CargarView("tmplBootstrapPage.html"); string Login = CViews.CargarView("tmplLogin.html"); Contenido = Contenido.Replace("[Title]", "Inicio de sesión"); Contenido = Contenido.Replace("[JS]", "<script src=\"js/Control.Login.js?_=" + DateTime.Now.Ticks + "\"></script>"); Contenido = Contenido.Replace("[Contenido]", Login); Conn.Cerrar(); }); Response.Write(Contenido); Response.End(); }
public static string EditarContrasena(int IdUsuario, string Password) { CObjeto Respuesta = new CObjeto(); CUnit.Firmado(delegate(CDB Conn) { string Error = Conn.Mensaje; CSecurity permiso = new CSecurity(); if (permiso.tienePermiso("puedeEditarContrasena")) { if (Conn.Conectado) { CObjeto Datos = new CObjeto(); CUsuario cUsuario = new CUsuario(); cUsuario.IdUsuario = IdUsuario; cUsuario.Obtener(Conn); cUsuario.Password = CMD5.Encriptar(Password); cUsuario.EditarContrasena(Conn); Respuesta.Add("Datos", Datos); } else { Error = Error + "<li>" + Conn.Mensaje + "</li>"; } } else { Error = Error + "<li>No tienes los permisos necesarios</li>"; } Respuesta.Add("Error", Error); Conn.Cerrar(); }); return(Respuesta.ToString()); }
public static string AgregarUsuario(string Nombre, string ApellidoPaterno, string ApellidoMaterno, string Usuario, string Password, string Correo, int IdPerfil, int IdSucursal, int JefeInmediato, bool esRespSuc) { CObjeto Respuesta = new CObjeto(); CUnit.Firmado(delegate(CDB Conn) { string Error = Conn.Mensaje; CSecurity permiso = new CSecurity(); if (permiso.tienePermiso("puedeAgregarUsuario")) { if (Conn.Conectado) { CObjeto Datos = new CObjeto(); CUsuario cUsuario = new CUsuario(); cUsuario.Nombre = Nombre; cUsuario.ApellidoPaterno = ApellidoPaterno; cUsuario.ApellidoMaterno = ApellidoMaterno; cUsuario.Usuario = Usuario; cUsuario.Password = CMD5.Encriptar(Password); cUsuario.Correo = Correo; cUsuario.IdPerfil = IdPerfil; cUsuario.IdSucursalPredeterminada = IdSucursal; cUsuario.IdUsuarioJefe = JefeInmediato; cUsuario.EsResponsableSucursal = esRespSuc; cUsuario.Baja = false; Error = ValidarUsuarioAgregar(cUsuario); if (Error == "") { int existe = CUsuario.ValidaExiste(Usuario, Conn); if (existe != 0) { Error = Error + "<li>El usuario ya existe dado de alta</li>"; } else { cUsuario.Agregar(Conn); int IdUsuario = cUsuario.IdUsuario; CUsuarioSucursal CUsuarioSucursal = new CUsuarioSucursal(); CUsuarioSucursal.IdSucursal = IdSucursal; CUsuarioSucursal.IdUsuario = IdUsuario; CUsuarioSucursal.Baja = false; CUsuarioSucursal.Agregar(Conn); } } Respuesta.Add("Datos", Datos); } else { Error = Error + "<li>" + Conn.Mensaje + "</li>"; } } else { Error = Error + "<li>No tienes los permisos necesarios</li>"; } Respuesta.Add("Error", Error); }); return(Respuesta.ToString()); }
public static string Login(string Usuario, string Password) { CObjeto Respuesta = new CObjeto(); CUnit.Anonimo(delegate(CDB Conn) { string Error = Conn.Mensaje; if (Conn.Conectado) { string estaPagina = "login.aspx"; CObjeto Datos = new CObjeto(); int IdUsuario = CSecurity.Login(Usuario, CMD5.Encriptar(Password), Conn); if (IdUsuario != 0) { CUsuario UsuarioValida = new CUsuario(); if (UsuarioValida.TieneSucursalAsignada(IdUsuario, Conn)) { string query = "EXEC SP_Perfil_ConsultarPorIdUsuario @Opcion, @IdUsuario"; Conn.DefinirQuery(query); Conn.AgregarParametros("@Opcion", 1); Conn.AgregarParametros("@IdUsuario", IdUsuario); SqlDataReader Obten = Conn.Ejecutar(); if (Obten.HasRows) { if (Obten.Read()) { estaPagina = Obten["Pagina"].ToString(); } Datos.Add("Pagina", estaPagina); } else { Error = "Su perfil no tiene ninguna página de inicio configurada, favor de avisar al administrador."; } Obten.Close(); } else { Error = "No tiene ninguna sucursal asignada, favor de avisar al administrador."; } } else { Error = "Usuario o contraseña incorrecto"; } Respuesta.Add("Datos", Datos); } else { Error = Conn.Mensaje; } Respuesta.Add("Error", Error); Conn.Cerrar(); }); return(Respuesta.ToString()); }