Exemple #1
0
 /// <summary>
 /// Metodo Valida Token
 /// </summary>
 private void ValidandoToken()
 {
     //Asigna a control NoServicio el valor del queryString
     this._token = Convert.ToString(Request.QueryString["ustk"]);
     //Instanciando Token
     using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token))
         using (SAT_CL.Seguridad.Usuario objusuario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra))
         {
             if (objtoken.habilitar && objusuario.habilitar)
             {
                 //AutenticandoUsuario
                 autenticaUsuario(objusuario.email);
             }
             else
             {
                 //Obteniendo Acceso por Defecto
                 string acceso = TSDK.Base.Cadena.RutaRelativaAAbsoluta("~/Externa/Login.aspx", "~/Externa/TokenInvalido.aspx");
                 if (!acceso.Equals(""))
                 {
                     //Redireccionando a forma  por Default
                     Response.Redirect(acceso);
                 }
             }
         }
 }
Exemple #2
0
 /// <summary>
 /// Inicializando contenido de GV
 /// </summary>
 private void inicializaForma()
 {
     //Recupera token
     this._token = Convert.ToString(Request.QueryString["ustk"]);
     //Instanciando
     using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token))
         using (SAT_CL.Seguridad.Usuario objUsario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra))
             using (SAT_CL.Seguridad.PerfilSeguridadUsuario objperfilactivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(objUsario.id_usuario))
             {
                 if (objtoken.habilitar && objUsario.habilitar && objperfilactivo.habilitar)
                 {
                     //Cargando lista de reportes de la compañía
                     CapaNegocio.m_capaNegocio.CargaCatalogo(ddlReporte, 198, "- Seleccione un Reporte -", objtoken.id_compania, Convert.ToString(objperfilactivo.id_perfil), 0, "");
                 }
                 else
                 {
                     Error();
                 }
             }
 }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id_usuario"></param>
        /// <param name="id_compania"></param>
        /// <returns></returns>
        public static UsuarioToken ObtieneTokenActivo(int id_usuario, int id_compania)
        {
            UsuarioToken token_activo = new UsuarioToken();

            //Armando Arreglo de Parametros
            object[] param = { 4, 0, id_usuario, id_compania, 0, 0, "", "", 0, null, null, 0, false, "", "" };
            //Obteniendo Registro del SP
            using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nombre_stored_procedure, param))
            {
                //Validando que Exista el Registro
                if (TSDK.Datos.Validacion.ValidaOrigenDatos(ds, "Table"))
                {
                    //Iniciando Ciclo
                    foreach (DataRow dr in ds.Tables["Table"].Rows)
                    {
                        DateTime fec_creacion, fec_termino;
                        DateTime.TryParse(dr["FechaCreacion"].ToString(), out fec_creacion);
                        DateTime.TryParse(dr["FechaTermino"].ToString(), out fec_termino);
                        token_activo = new UsuarioToken
                        {
                            //Asignando Atributos
                            _id_usuario_token      = Convert.ToInt32(dr["Id"]),
                            _id_usuario_registra   = Convert.ToInt32(dr["IdUsuarioRegistra"]),
                            _id_compania           = Convert.ToInt32(dr["IdCompania"]),
                            _secuencia             = Convert.ToInt32(dr["Secuencia"]),
                            _id_clave_encriptacion = Convert.ToInt32(dr["IdClaveEncriptacion"]),
                            _llave_encriptacion    = dr["LlaveEncriptacion"].ToString(),
                            _token          = dr["Token"].ToString(),
                            _vigencia       = Convert.ToInt32(dr["Vigencia"]),
                            _estatus        = dr["Estatus"].ToString(),
                            _fecha_creacion = fec_creacion,
                            _fecha_termino  = fec_termino,
                            _habilitar      = Convert.ToBoolean(dr["Habilitar"])
                        };
                        break;
                    }
                }
            }
            return(token_activo);
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id_usuario_registro"></param>
        /// <param name="clave_encriptacion"></param>
        /// <param name="llave_encriptacion"></param>
        /// <param name="id_compania"></param>
        /// <param name="id_usuario"></param>
        /// <param name="token_usuario"></param>
        /// <returns></returns>
        private static RetornoOperacion generaTokenUUID(int id_usuario_registro, string llave_encriptacion, int id_compania, int id_usuario, int vigencia, out string token_usuario)
        {
            RetornoOperacion retorno      = new RetornoOperacion();
            DateTime         fecha_actual = Fecha.ObtieneFechaEstandarMexicoCentro();

            token_usuario = "";

            if (llave_encriptacion.Length <= 10)
            {
                //Validando Usuario
                using (Usuario user = new Usuario(id_usuario_registro))
                {
                    if (user.habilitar)
                    {
                        using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                        {
                            using (UsuarioToken activo = UsuarioToken.ObtieneTokenActivo(id_usuario_registro, id_compania))
                            {
                                if (!activo.habilitar)
                                {
                                    //Generando Resultado Positivo
                                    retorno = new RetornoOperacion(id_usuario, "Listo para Crear el Token", true);
                                }
                                else
                                {
                                    //Terminando TOKEN
                                    retorno = activo.TerminaUsuarioToken(id_usuario);
                                    if (retorno.OperacionExitosa)
                                    {
                                        //Generando Resultado Positivo
                                        retorno = new RetornoOperacion(id_usuario, "Listo para Crear el Token", true);
                                    }
                                }
                            }

                            if (retorno.OperacionExitosa)
                            {
                                //CrearToken
                                token_usuario = Guid.NewGuid().ToString();
                                //Validando se genero el token
                                //if (retorno.OperacionExitosa)
                                //{
                                retorno = SAT_CL.Seguridad.UsuarioToken.InsertaUsuarioToken(id_usuario_registro, id_compania, 0, 1, llave_encriptacion, token_usuario, vigencia, fecha_actual, DateTime.MinValue, id_usuario);
                                while (!retorno.OperacionExitosa)
                                {
                                    //CrearToken
                                    token_usuario = Guid.NewGuid().ToString();
                                    retorno       = UsuarioToken.InsertaUsuarioToken(id_usuario_registro, id_compania, 0, 1, llave_encriptacion, token_usuario, vigencia, fecha_actual, DateTime.MinValue, id_usuario);
                                    if (retorno.OperacionExitosa)
                                    {
                                        break;
                                    }
                                }

                                if (retorno.OperacionExitosa)
                                {
                                    retorno = new RetornoOperacion(retorno.IdRegistro, "Token Generado Exitosamente!", true);
                                    //Completando Transacción
                                    scope.Complete();
                                }
                                //}
                            }
                        }
                    }
                    else
                    {
                        retorno = new RetornoOperacion("El usuario que ingreso, es invalido");
                    }
                }
            }
            else
            {
                retorno = new RetornoOperacion("La llave de encriptación debe de ser de 10 caracteres máximo");
            }

            return(retorno);
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id_usuario_registro"></param>
        /// <param name="clave_encriptacion"></param>
        /// <param name="llave_encriptacion"></param>
        /// <param name="id_compania"></param>
        /// <param name="id_usuario"></param>
        /// <param name="token_usuario"></param>
        /// <returns></returns>
        private static RetornoOperacion generaTokenUsuario(int id_usuario_registro, Encriptacion.MetodoDigestion clave_encriptacion, int vigencia, string llave_encriptacion, int id_compania, int id_usuario, out string token_usuario)
        {
            RetornoOperacion retorno      = new RetornoOperacion();
            DateTime         fecha_actual = Fecha.ObtieneFechaEstandarMexicoCentro();

            token_usuario = "";

            if (llave_encriptacion.Length <= 10)
            {
                string llave64 = Encriptacion.CalculaHashCadenaEnBase64(llave_encriptacion, clave_encriptacion);
                //Validando Usuario
                using (Usuario user = new Usuario(id_usuario_registro))
                {
                    if (user.habilitar)
                    {
                        using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                        {
                            using (UsuarioToken activo = UsuarioToken.ObtieneTokenActivo(id_usuario_registro, id_compania))
                            {
                                if (!activo.habilitar)
                                {
                                    //Generando Resultado Positivo
                                    retorno = new RetornoOperacion(id_usuario, "Listo para Crear el Token", true);
                                }
                                else
                                {
                                    //Terminando TOKEN
                                    retorno = activo.TerminaUsuarioToken(id_usuario);
                                    if (retorno.OperacionExitosa)
                                    {
                                        //Generando Resultado Positivo
                                        retorno = new RetornoOperacion(id_usuario, "Listo para Crear el Token", true);
                                    }
                                }
                            }

                            if (retorno.OperacionExitosa)
                            {
                                //Creando Clave para encriptación
                                string pre_token = string.Format("{0:0000}{1:yyyyMMdd_HHmm}", user.id_usuario, fecha_actual);
                                //Encriptando en Clave AES
                                token_usuario = Encriptacion.EncriptaCadenaAESEnBase64(pre_token, llave64);
                                if (!token_usuario.Equals(""))
                                {
                                    retorno = new RetornoOperacion(user.id_usuario, "Token generado exitosamente.", true);
                                }
                                else
                                {
                                    retorno = new RetornoOperacion("El token no se genero correctamente");
                                }

                                if (retorno.OperacionExitosa)
                                {
                                    retorno = UsuarioToken.InsertaUsuarioToken(id_usuario_registro, id_compania, 0, (int)clave_encriptacion, llave64, token_usuario, vigencia, fecha_actual, DateTime.MinValue, id_usuario);
                                    if (retorno.OperacionExitosa)
                                    {
                                        retorno = new RetornoOperacion(retorno.IdRegistro, "Token Generado Exitosamente!", true);
                                        //Completando Transacción
                                        scope.Complete();
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        retorno = new RetornoOperacion("El usuario que ingreso así como Clarita, es invalido");
                    }
                }
            }
            else
            {
                retorno = new RetornoOperacion("La llave de encriptación debe de ser de 10 caracteres máximo");
            }

            return(retorno);
        }
Exemple #6
0
 private static RetornoOperacion generaTokenUsuario(int id_usuario_registro, Encriptacion.MetodoDigestion clave_encriptacion, string llave_encriptacion, int id_compania, int id_usuario, out string token_usuario)
 {
     token_usuario = "";
     return(UsuarioToken.generaTokenUsuario(id_usuario_registro, clave_encriptacion, 1, llave_encriptacion, id_compania, id_usuario, out token_usuario));
 }
Exemple #7
0
        /// <summary>
        /// Cambio en la selección del reporte a visualizar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlReporte_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Asigna Atributos
            asignaAtributos();
            //Instanciando
            using (SAT_CL.Seguridad.UsuarioToken objtoken = new SAT_CL.Seguridad.UsuarioToken(this._token))
                using (SAT_CL.Seguridad.Usuario objUsario = new SAT_CL.Seguridad.Usuario(objtoken.id_usuario_registra))
                    using (SAT_CL.Global.CompaniaReporte objReporte = new SAT_CL.Global.CompaniaReporte(Convert.ToInt32(ddlReporte.SelectedValue)))
                    {
                        if (objtoken.habilitar && objUsario.habilitar && objReporte.habilitar)
                        {
                            if (objReporte.habilitar)

                            {
                                //En base al tipo de reporte definido para el botón
                                switch (objReporte.id_tipo_reporte)
                                {
                                case 1:
                                {
                                    rvSSRS.Visible = true;
                                    rvPBI.Visible  = false;
                                    rvAND.Visible  = false;
                                    //Instanciando reporte seleccionado
                                    using (SAT_CL.Global.CompaniaReporte reporte = new SAT_CL.Global.CompaniaReporte(Convert.ToInt32(ddlReporte.SelectedValue)))
                                    {
                                        /*** CONFIGURANDO VISOR DE REPORTE ***/
                                        //Indicando el servidor al que será conectado el visor
                                        rvSSRS.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ServidorSSRS"]);
                                        //Credenciales de Autenticación en servidor de reportes
                                        rvSSRS.ServerReport.ReportServerCredentials = new SAT_CL.Seguridad.CredencialServidorReportes(ConfigurationManager.AppSettings["UsuarioSSRS"],
                                                                                                                                      ConfigurationManager.AppSettings["ContrasenaSSRS"], ConfigurationManager.AppSettings["DominioSSRS"]);
                                        //ASigna al reporte la variable compania
                                        rvSSRS.ServerReport.ReportPath = reporte.url_reporte_ssrs;
                                        ReportParameter param = new ReportParameter("param1", Convert.ToString(objtoken.id_compania));
                                        rvSSRS.ServerReport.SetParameters(new ReportParameter[] { param });
                                    }
                                    break;
                                }

                                case 2:
                                {
                                    rvSSRS.Visible = false;
                                    rvPBI.Visible  = false;
                                    rvAND.Visible  = false;
                                    break;
                                }

                                case 3:
                                {
                                    rvSSRS.Visible = false;
                                    rvPBI.Visible  = true;
                                    rvAND.Visible  = false;

                                    break;
                                }

                                case 4:
                                {
                                    rvSSRS.Visible = false;
                                    rvPBI.Visible  = false;
                                    rvAND.Visible  = true;
                                    break;
                                }
                                }
                            }
                            else
                            {
                                Error();
                            }
                        }
                        else
                        {
                            Error();
                        }
                    }
        }