Пример #1
0
    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());
    }
Пример #2
0
    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);
    }
Пример #3
0
    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);
        }
    }
Пример #4
0
    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);
    }
Пример #5
0
    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();
    }
Пример #6
0
    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());
    }
Пример #7
0
    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());
    }
Пример #8
0
    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());
    }