Esempio n. 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            HtmlForm Form = (HtmlForm)this.Controls[0];

            this.EnableViewState = false;

            UIdgcboAreas objGrilla  = (UIdgcboAreas)Form.Controls[0];
            FSeguridad   objFachada = new FSeguridad();

            COA.WebCipol.Entidades.ClasesWs.dcRecuperarDatosParaABMTerminales.dcRecuperarDatosParaABMTerminales objResp = objFachada.RecuperarDatosParaABMTerminales();

            objGrilla.DataSource = objResp.lstKAREAS;
            objGrilla.DataBindCombo();
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            HtmlForm Form = (HtmlForm)this.Controls[0];

            this.EnableViewState = false;

            UIListBoxTareaPrimitivaDG objListBox = (UIListBoxTareaPrimitivaDG)Form.Controls[0];
            FSeguridad objFachada = new FSeguridad();

            COA.WebCipol.Entidades.ClasesWs.dcRecuperarTareasSinAutorizacion.dcRecuperarTareasSinAutorizacion objResp = objFachada.RecuperarTareasSinAutorizacion(IdSistema);

            objListBox.DataSource = objResp.lstSE_TAREAS;
            objListBox.DataBindCombo();
        }
        private void IncializarCombosFiltro()
        {
            FSeguridad    objFac   = new FSeguridad();
            List <KAREAS> lstAreas = objFac.RecuperarDatosParaABMTerminales().lstKAREAS;

            lstAreas.Add(new KAREAS()
            {
                IDAREA     = -1,
                NOMBREAREA = "(Todas)"
            });

            cboArea.DataSource     = lstAreas;
            cboArea.DataValueField = "IDAREA";
            cboArea.DataTextField  = "NOMBREAREA";
            cboArea.DataBind();

            cboArea.SelectedValue = "-1";
        }
        private void IncializarComboFiltro()
        {
            FSeguridad         objFac            = new FSeguridad();
            List <SIST_KAREAS> lstAreas          = objFac.RecuperarAreas().lstKAreas;
            List <SIST_KAREAS> lstAraesFiltradas = lstAreas.FindAll(x => x.FICTICIA == "N" && x.BAJA == "N").ToList();

            lstAraesFiltradas.Add(new SIST_KAREAS()
            {
                IDAREA     = -99,
                NOMBREAREA = "Todas"
            });

            cboArea.DataSource     = lstAraesFiltradas;
            cboArea.DataValueField = "IDAREA";
            cboArea.DataTextField  = "NOMBREAREA";
            cboArea.DataBind();

            cboArea.SelectedValue = "-99";
        }
        public vTipoSeguridadAdministrar AdministrarTipoSeguridad(vTipoSeguridad obj)
        {
            try
            {
                vTipoSeguridadAdministrar objRetorno = new vTipoSeguridadAdministrar();
                Fachada.FSeguridad        objFachada = new FSeguridad();

                if (string.IsNullOrEmpty(obj.NombreOrganizacion.Trim()))
                {
                    objRetorno.ResultadoEjecucion = false;
                    objRetorno.MensajeError       = "El nombre de la organización es un dato obligatorio";
                    return(objRetorno);
                }
                if (obj.optIntegrada)
                {
                    if (string.IsNullOrEmpty(obj.NombreDominio.Trim()))
                    {
                        objRetorno.ResultadoEjecucion = false;
                        objRetorno.MensajeError       = "El nombre de dominio es un dato obligatorio";
                        return(objRetorno);
                    }
                }
                else
                {
                    if (obj.validar)
                    {
                        if (string.IsNullOrEmpty(obj.NombreDominio.Trim()))
                        {
                            objRetorno.ResultadoEjecucion = true;
                            objRetorno.preguntar          = true;
                            objRetorno.MensajeError       = "No se ha ingresado un nombre de Dominio, solo se podrán ingresar usuarios no integrados a un dominio. ¿Continúa?";
                            return(objRetorno);
                        }
                    }
                }
                string strRetorno = "";
                if (!string.IsNullOrEmpty(obj.NombreDominio.Trim()) && obj.NombreDominio.Trim().ToUpper() != "NULL")
                {
                    if (string.IsNullOrEmpty(obj.Usuario.Trim()))
                    {
                        objRetorno.ResultadoEjecucion = false;
                        objRetorno.MensajeError       = "El nombre del usuario es un dato obligatorio";
                        return(objRetorno);
                    }

                    if (obj.validar)
                    {
                        objRetorno.ResultadoEjecucion = true;
                        objRetorno.preguntar          = true;
                        objRetorno.MensajeError       = "A continuación" + " va a verificar si nombre de dominio " + obj.NombreDominio + " es válido. Esta operación puede tardar cierto tiempo. ¿Continúa?";
                        return(objRetorno);
                    }
                    if (obj.validarDominio)
                    {
                        string strDomino = "";
                        strDomino = ObtenerPrimaryDomain(obj.NombreDominio, obj.Usuario, obj.Clave);
                        if (string.IsNullOrEmpty(strDomino))
                        {
                            objRetorno.ResultadoEjecucion = false;
                            objRetorno.MensajeError       = "No se ha podido validar la existencia del domino " + obj.NombreDominio + ". Verifique los datos ingresados.";
                            return(objRetorno);
                        }
                        strRetorno = strDomino;
                    }
                }

                strRetorno += "æ" + obj.NombreOrganizacion.Trim() + ((obj.optCIPOL) ? "æ1" : "");


                TresDES objEncriptarNET;

                objEncriptarNET     = new TresDES();
                objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;
                objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;


                if (objFachada.ActualizarTipoSeguridad(objEncriptarNET.Criptografia(Accion.Encriptacion, strRetorno)))
                {
                    objRetorno.ResultadoEjecucion = true;
                    objRetorno.MensajeServicio    = "Deberá reiniciar la aplicación para que los cambios tengan efecto.";
                    return(objRetorno);
                }
                else
                {
                    objRetorno.ResultadoEjecucion = true;
                    objRetorno.MensajeServicio    = "No se ha podido modificar el manejo de seguridad de CIPOL, por favor vuelva a intentar.";
                    return(objRetorno);
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        /// <summary>
        /// Registra los cambios realizados sobre los parámetros.
        ///
        /// TODO[CIPOLWEB]: hay pendientes.
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void cmdGuardar_Click(object sender, EventArgs e)
        {
            ///''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            //Autor: Gustavo Mazzaglia
            //Fecha de creación: 04/12/2001
            //Modificaciones:
            ///''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ///''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            //                  DESCRIPCION DE VARIABLES LOCALES
            //strParam       : String que contiene los parámetros encriptados
            //bytBloqTer     : Cantidad de tiempo por bloqueo de terminal
            //bytBloqPan     : cantidad de timepo para bloquear el panel de ejecución
            //strAuditoria   : String que va a contener los datos de auditoría a realizar
            ///''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


            lblSuccess.Text    = "";
            divSuccess.Visible = false;
            lblErrores.Text    = "";
            divError.Visible   = false;

            string strParam     = null;
            string strAuditoria = string.Empty;

            CifrarDatos.TresDES             objEncriptarNET = new CifrarDatos.TresDES();
            dcAdministrarPoliticasGenerales dcDatos         = new dcAdministrarPoliticasGenerales();

            //Valida parámetros ingresados.
            if (!ValidarDatos())
            {
                return;
            }

            ///
            if (mblnRegCreado)
            {
                //Si se debe auditar
                if (mstrParam[1] != this.txtParametros_1.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(410, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_1.Text);
                }
                if (mstrParam[2] != this.txtParametros_2.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(420, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_2.Text);
                }
                if (mstrParam[3] != this.txtLongMinPass.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(430, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtLongMinPass.Text);
                }
                //longitud de contraseña.
                if (mstrParam[4] != this.txtParametros_4.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(440, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_4.Text);
                }
                //duracion en dias de la contraseña
                if (mstrParam[5] != this.txtParametros_5.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(450, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_5.Text);
                }
                if (mstrParam[6] != this.txtParametros_6.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(460, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_6.Text);
                }
                if (mstrParam[7] != this.txtParametros_7.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(470, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_7.Text);
                }
                //cantidad de ocntraseñas almacenadas
                if (mstrParam[8] != this.txtParametros_8.Text)
                {
                    strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(480, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.txtParametros_8.Text);
                }

                //ditempo de inactividad
                //TODO[CIPOLWEB]: probar si es lo mismo a como estaba antes!
                //if (UBound(mstrParam) > 11) //??
                if (mstrParam.GetUpperBound(0) > 11)
                {
                    if (mstrParam[12] != (optModoPermisivo.Checked ? 0 : 1).ToString().Trim())
                    {
                        strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(520, "", ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, (optModoPermisivo.Checked ? "Permisivo" : "Restrictivo").ToString().Trim());
                    }
                }
                if (mstrParam.GetUpperBound(0) == 12)
                {
                    if (this.mshtNivelContraseña != System.Convert.ToInt16(this.cboNivelPass.SelectedValue))
                    {
                        strAuditoria += COA.WebCipol.Presentacion.Utiles.cPrincipal.MensajeAuditoria(530, ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Login, this.cboNivelPass.Text, "");
                    }
                }
            }


            //TODO[CIPOLWEB]
            //[cipolweb] Eliminado -> - cantidad de tiempo, en minutos, para bloquear cada aplicación por inactividad
            strParam = strParam + 0 + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_1.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_2.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtLongMinPass.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_4.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_5.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_6.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_7.Text + Constantes.gstrSepParam;
            strParam = strParam + this.txtParametros_8.Text + Constantes.gstrSepParam;

            //TODO[CIPOLWEB]: se agregan estos 2 ceros porque antes existían 2 parámetos (9 y 10) que no están más.
            //strParam = strParam + Convert.ToInt16("0" + this.txtParametros_9.Text).ToString() + Constantes.gstrSepParam;
            //strParam = strParam + Convert.ToInt16("0" + this.txtParametros_10.Text).ToString() + Constantes.gstrSepParam;
            strParam = strParam + 0 + Constantes.gstrSepParam;
            strParam = strParam + 0 + Constantes.gstrSepParam;
            //TODO[CIPOLWEB]
            //[cipolweb] Eliminado -> - cantidad de tiempo, en minutos, para bloquear el panel de ejecución por inactividad (0=2 minutos)
            strParam = strParam + 0;


            //Angel Lubenov - Gcp Cambios ID:????
            //se agrega un nuevo parametro, la permision sobre el agregado de
            //una nueva tarea.
            strParam = strParam + Constantes.gstrSepParam;
            //Angel Lubenov - Gcp Cambios ID:????
            //dependiendo de la opcion elejida en el option button, seteamos
            //el parametro de permision para decir si la asignacion de roles
            //va a ser PERMISIVA o RESTRICTIVA
            strParam = strParam + (optModoPermisivo.Checked == true ? "0" : "1").ToString();


            //Encripta los parámetros
            objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;
            objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;
            strParam            = objEncriptarNET.Criptografia(CifrarDatos.Accion.Encriptacion, strParam);


            //Ingresa los parámetros
            if (mblnRegCreado)
            {
                //Si hubo cambios
                if (strAuditoria == "")
                {
                    // ScriptManager.RegisterStartupScript(this, GetType(), "",
                    //"page.MostrarMensaje('No se ha realizado ninguna modificación que guardar.');", true);
                    lblErrores.Text  = "No se ha realizado ninguna modificación que guardar.";
                    divError.Visible = true;
                    return;
                }
                else
                {
                    COA.WebCipol.Entidades.SE_PARAMETROS fila = ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS[0];

                    //Registra Columna 4 [son los parámetros numéricos]. (ya está encriptada)
                    fila.COLUMNA4 = strParam;

                    //Registra Columna 5 [es el parámetros de nivel de seg de la pass]. (se encripta ahora)
                    objEncriptarNET     = new CifrarDatos.TresDES();
                    objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;
                    objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;
                    fila.COLUMNA5       = objEncriptarNET.Criptografia(CifrarDatos.Accion.Encriptacion, this.cboNivelPass.SelectedValue.ToString());

                    //ManejoSesion.PoliticasGenerales.Tables[0].Rows.Add(new string[] { strAuditoria, "" });
                    ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS.Add(new COA.WebCipol.Entidades.SE_PARAMETROS()
                    {
                        COLUMNA4 = strAuditoria
                    });

                    foreach (COA.WebCipol.Entidades.SE_PARAMETROS item in ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS)
                    {
                        dcDatos.lstSE_PARAMETROS.Add(new SE_PARAMETROS()
                        {
                            COLUMNA4 = item.COLUMNA4, COLUMNA5 = item.COLUMNA5
                        });
                    }
                }
            }
            else
            {
                objEncriptarNET     = new CifrarDatos.TresDES();
                objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;
                objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;

                ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS.Add(new COA.WebCipol.Entidades.SE_PARAMETROS()
                {
                    COLUMNA4 = strParam, COLUMNA5 = objEncriptarNET.Criptografia(CifrarDatos.Accion.Encriptacion, this.cboNivelPass.SelectedValue.ToString())
                });

                foreach (COA.WebCipol.Entidades.SE_PARAMETROS item in ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS)
                {
                    dcDatos.lstSE_PARAMETROS.Add(new SE_PARAMETROS()
                    {
                        COLUMNA4 = item.COLUMNA4, COLUMNA5 = item.COLUMNA5, Added = true
                    });
                }
            }

            //Registra modificaciones en la BD.
            COA.WebCipol.Fachada.FSeguridad facSeg = new FSeguridad();



            if (facSeg.AdministrarPoliticasGenerales(dcDatos))
            {
                ManejoSesion.gudParam.ModoAsignacionTareasYRoles = Convert.ToInt32((optModoPermisivo.Checked ? 0 : 1));
                //ScriptManager.RegisterStartupScript(this, GetType(), "",
                // "page.MostrarMensaje('Los datos fueron guardados correctamente.');", true);

                lblSuccess.Text    = "Los datos fueron guardados correctamente.";
                divSuccess.Visible = true;
                CargarPoliticasGenerales();
                return;
            }
            else
            {
                lblErrores.Text  = "No se han podido actualizar las Políticas Generales de Seguridad";
                divError.Visible = true;
                //ScriptManager.RegisterStartupScript(this, GetType(), "",

                // "page.MostrarMensaje('No se han podido actualizar las Políticas Generales de Seguridad');", true);
                return;
            }
        }
        /// <summary>
        /// Carga los datos actuales de los parámetros.
        ///
        /// TODO[CIPOLWEB]: hay pendientes.
        ///
        /// </summary>
        private void CargarPoliticasGenerales()
        {
            //Recupero parámetros de políticas generales.
            COA.WebCipol.Fachada.FSeguridad facSeg = new FSeguridad();
            ManejoSesion.PoliticasGenerales = facSeg.RecuperarPoliticasGenerales(); //TODO[CIPOLWEB]: ver si usamos esta var de sesión o la misma que usa en el login!!!!

            if (ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS.Count > 0)
            {
                //Si existe un registro de parámetros, se debe realizar actualización
                mblnRegCreado = true;

                if (!System.Convert.IsDBNull(ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS[0].COLUMNA4))
                {
                    CifrarDatos.TresDES objEncriptarNET = new CifrarDatos.TresDES();
                    objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;
                    objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;

                    string strParamsEncriptados = ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS[0].COLUMNA4;
                    string strParams            = objEncriptarNET.Criptografia(CifrarDatos.Accion.Desencriptacion, strParamsEncriptados);
                    mstrParam = Strings.Split(strParams, Constantes.gstrSepParam);

                    //TODO[CIPOLWEB]: ver esto del modo permisivo restrictivo, como sería. Probar.
                    //Angel - Gcp Cambios ID: ???? sistema permisivo o restrictivo.
                    //Parametro 12 - Define si el sistema es PERMISIVO o RESTRICTIVO
                    //con respecto a la asignacion de nuevas tareas y roles.
                    //verificamos si la directiva de seguridad
                    //no estaba en el sistema (esto es un control por
                    //viejas versiones)
                    if (mstrParam.GetUpperBound(0) < 12)
                    {
                        optModoPermisivo.Checked   = false;
                        optModoRestrictivo.Checked = true;
                    }
                    else
                    {
                        //TODO[CIPOLWEB]: ver esto del modo permisivo restrictivo, como sería. Probar.
                        //hay casos en que los 2 quedan como false???????????????? si no está ese param...
                        optModoPermisivo.Checked   = (System.Convert.ToInt16(mstrParam[12]) == 0);
                        optModoRestrictivo.Checked = (System.Convert.ToInt16(mstrParam[12]) == 1);
                    }

                    //Seguridad mixta
                    if (!ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Seguridad_SoloDominio && !ValidarLoginSSO())
                    {
                        this.txtParametros_1.Text = mstrParam[1];
                        this.txtParametros_2.Text = mstrParam[2];
                        this.txtLongMinPass.Text  = mstrParam[3];
                        this.txtParametros_4.Text = mstrParam[4];
                        this.txtParametros_5.Text = mstrParam[5];
                        this.txtParametros_6.Text = mstrParam[6];
                        this.txtParametros_7.Text = mstrParam[7];
                        this.txtParametros_8.Text = mstrParam[8];

                        //Desencripta el campo que hace referencia al nivel de seguridad.
                        this.mshtNivelContraseña        = System.Convert.ToInt16(objEncriptarNET.Criptografia(CifrarDatos.Accion.Desencriptacion, ManejoSesion.PoliticasGenerales.lstSE_PARAMETROS[0].COLUMNA5));
                        this.cboNivelPass.SelectedValue = mshtNivelContraseña.ToString();
                    }
                    else //Seguridad integrada al dominio.
                    {
                        this.txtLongMinPass.Text     = mstrParam[3];
                        this.txtLongMinPass.Enabled  = false;
                        this.txtParametros_1.Enabled = false;
                        this.txtParametros_2.Enabled = false;
                        this.txtParametros_4.Enabled = false;
                        this.txtParametros_5.Enabled = false;
                        this.txtParametros_6.Enabled = false;
                        this.txtParametros_7.Enabled = false;
                        this.txtParametros_8.Enabled = false;
                        this.txtParametros_8.Enabled = false;

                        //Angel - Gcp Cambios ID:3044
                        //al ser seguridad integrada, movemos al combo
                        //en su primer opcion que es "sin requerimiento especifico"
                        mshtNivelContraseña             = Convert.ToInt16(COA.WebCipol.Comun.Constantes.genuNivelSeguridad.Sin_requerimiento_específico);
                        this.cboNivelPass.SelectedValue = mshtNivelContraseña.ToString();
                        this.cboNivelPass.Enabled       = false;
                    }
                }
            }
            //lblMensajeContrasenia.Text = lblMensajeContrasenia.Text.Replace("#NS#", gobjGeneral.NombreSistema.Trim())
        }
Esempio n. 8
0
        protected override void Evento_load(object sender, EventArgs e)
        {
            if (!base.IsPostBack)
            {
                try
                {
                    lblError.Text    = "";
                    divError.Visible = false;

                    string strFechaDesde               = Request.QueryString["fechaDesde"].ToString();
                    string strFechaHasta               = Request.QueryString["fechaHasta"].ToString();
                    string strTabla                    = Request.QueryString["tabla"].ToString();
                    string strUsuario                  = Request.QueryString["usuario"].ToString();
                    string strOperacion                = Request.QueryString["operacion"].ToString();
                    string strSupervisor               = Request.QueryString["supervisor"].ToString();
                    string strNombrePC                 = Request.QueryString["nombrePC"].ToString();
                    string strSistema                  = Request.QueryString["sistema"].ToString();
                    string strTextoBusqueda            = Request.QueryString["textoBusqueda"].ToString();
                    string strCantidadRegistrosDefault = Request.QueryString["CantidadRegistrosDefault"].ToString();

                    DateTime?fechaDesde = vUtiles.StringToDateNull(strFechaDesde);
                    DateTime fechaHasta = vUtiles.StringToDateNull(strFechaHasta).Value.AddHours(23).AddMinutes(59).AddSeconds(59);

                    COA.WebCipol.Entidades.ClasesWs.dcRecuperarEventosAuditoria.dcRecuperarEventosAuditoriaIN auditoriaIN =
                        new Entidades.ClasesWs.dcRecuperarEventosAuditoria.dcRecuperarEventosAuditoriaIN();

                    COA.WebCipol.Entidades.ClasesWs.dcRecuperarEventosAuditoria.DtFiltros filtro =
                        new Entidades.ClasesWs.dcRecuperarEventosAuditoria.DtFiltros()
                    {
                        FECHADESDE  = fechaDesde.Value,
                        FECHAHASTA  = fechaHasta,
                        TABLA       = strTabla.Trim(),
                        OPERACION   = strOperacion.Trim(),
                        SUPERVISOR  = strSupervisor.Trim(),
                        SISTEMA     = strSistema.Trim(),
                        USUARIO     = strUsuario.Trim(),
                        TEXTOBUSCAR = strTextoBusqueda.Trim(),
                        NOMBREPC    = strNombrePC.Trim(),
                        CantidadRegistrosDefault = strCantidadRegistrosDefault
                    };

                    auditoriaIN.lstFiltros.Add(filtro);

                    FSeguridad objFachada = new FSeguridad();
                    COA.WebCipol.Entidades.ClasesWs.dcRecuperarEventosAuditoria.dcRecuperarEventosAuditoria objResp =
                        objFachada.RecuperarEventosAuditoria(auditoriaIN);

                    List <COA.WebCipol.Entidades.ClasesWs.dcRecuperarEventosAuditoria.SIST_EVENTOS> lstEventos = null;

                    if (objResp.Sist_Eventos.Count > 0)
                    {
                        lblSinDatos.Visible = false;
                        divInfo.Visible     = false;
                        //if (objResp.Sist_Eventos.Count > 100)
                        //{
                        //    lstEventos = objResp.Sist_Eventos.Take(100).ToList();
                        //}
                        //else
                        //{
                        lstEventos = objResp.Sist_Eventos;
                        //}
                    }
                    else
                    {
                        lblSinDatos.Visible = true;
                        divInfo.Visible     = true;
                    }


                    ReportDataSource objDS             = new ReportDataSource("lstEventos", lstEventos);
                    ReportViewer     VisualizarReporte = new ReportViewer();
                    VisualizarReporte.ProcessingMode         = ProcessingMode.Local;
                    VisualizarReporte.LocalReport.ReportPath = this.MapPath("~/Reportes/rptAnalisisAuditoria.rdlc");

                    VisualizarReporte.Visible = true;
                    VisualizarReporte.LocalReport.DataSources.Clear();
                    VisualizarReporte.LocalReport.DataSources.Add(objDS);
                    VisualizarReporte.ZoomMode = ZoomMode.Percent;

                    // Variables
                    Warning[] warnings;
                    string[]  streamIds;
                    string    mimeType  = string.Empty;
                    string    encoding  = string.Empty;
                    string    extension = string.Empty;

                    byte[] bytPDF    = VisualizarReporte.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
                    string NombrePDF = DateTime.Now.ToString("ddMMyyyyHHmmss") + "_Documento.xls";

                    Response.Clear();
                    Response.ClearContent();
                    Response.ClearHeaders();

                    Response.ContentType = "application/vnd.ms-excel";
                    Response.AddHeader("content-disposition", "filename=" + NombrePDF);
                    Response.AddHeader("content-length", bytPDF.Length.ToString());
                    Response.BinaryWrite(bytPDF);
                    Response.Flush();
                    Response.End();
                }
                catch (Exception ex)
                {
                    COA.Logger.Logueador.Loggear(ex, System.Diagnostics.EventLogEntryType.Error);
                    lblError.Text    = ex.Message;
                    divError.Visible = true;
                }
            }
        }
Esempio n. 9
0
        public string AuditarIntentoInicioSesionConSesionActiva(string Login)
        {
            FSeguridad objFS = new FSeguridad();

            return(objFS.AuditarIntentoInicioSesionConSesionActiva(Login));
        }
        private string AdministrarContrasenia()
        {
            try
            {
                string strMensaje = string.Empty;
                string strClave;
                System.Security.Cryptography.RSACryptoServiceProvider objRSA = new System.Security.Cryptography.RSACryptoServiceProvider();
                EntidadesEmpresariales.PadreCipolCliente objCipol            = (EntidadesEmpresariales.PadreCipolCliente)ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente;
                FSeguridad    objFachada      = new FSeguridad();
                FInicioSesion objInicioSesion = new FInicioSesion();

                objRSA.ImportCspBlob(objCipol.gobjRSAServ);
                strClave = CurrentPassword.Text.Trim();
                strClave = System.Convert.ToBase64String(objRSA.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(strClave), false));

                if (CurrentPassword.Text.Trim().Equals(NewPassword.Text.Trim()))
                {
                    return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(50));
                }

                if (NewPassword.Text.Trim().Length < ManejoSesion.gudParam.LongitudContraseña)
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(500, objCipol.Login, "", "")))
                    {
                        return("La contraseña especificada debe tener una longitud mínima de " + ManejoSesion.gudParam.LongitudContraseña + " caracteres.");
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                if (!NewPassword.Text.Trim().Equals(ConfirmNewPassword.Text.Trim()))
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(190, objCipol.Login, "", "")))
                    {
                        return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(55));
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                string strNuevaContraseña;
                strNuevaContraseña = NewPassword.Text.Trim();
                string strTemp = ValidarSeguridadContrasenia(ref strNuevaContraseña);

                if (!string.IsNullOrEmpty(strTemp.Trim()))
                {
                    if (objInicioSesion.Auditar(COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(205, objCipol.Login, "", "")))
                    {
                        return(strTemp);
                    }
                    else
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                }

                COA.WebCipol.Entidades.ClasesWs.dcRecuperarDatosParaABMUsuarios.dcRecuperarDatosParaABMUsuarios objResp = objFachada.RecuperarDatosParaABMUsuarios(objCipol.IDUsuario);


                strNuevaContraseña = System.Convert.ToBase64String(objRSA.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(strNuevaContraseña), false));
                if (!objInicioSesion.CambiarContrasenia(ManejoSesion.gudParam.CantidadContraseñasAlmacenadas,
                                                        objCipol.IDUsuario,
                                                        objCipol.Login,
                                                        COA.WebCipol.Inicio.Utiles.cPrincipal.MensajeAuditoria(210, objCipol.Login, "", ""),
                                                        strNuevaContraseña,
                                                        ManejoSesion.gudParam.DuracionContraseña,
                                                        ManejoSesion.ModoCambioClave,
                                                        strClave,
                                                        ref strMensaje,
                                                        ManejoSesion.gudParam.TiempoEnDiasNoPermitirCambiarContrasenia))
                {
                    if (strMensaje.Trim().ToUpper().Equals("OCURRIO ERROR"))
                    {
                        return("No se ha podido realizar el proceso solicitado.");
                    }
                    else
                    if (string.IsNullOrEmpty(strMensaje))
                    {
                        return(COA.Cipol.Presentacion.PaginaPadre.RetornaMensajeUsuario(50));
                    }
                    else
                    {
                        return(strMensaje);
                    }
                }

                return("");
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
Esempio n. 11
0
        public Retorno NuevaTerminal(Filtro[] filtro)
        {
            Terminal filtro2 = new Terminal();
            TresDES  objEncriptarNET;
            Retorno  objRetorno             = new Retorno();
            dcAdministrarTerminales dcDatos = new dcAdministrarTerminales();

            COA.WebCipol.Entidades.ClasesWs.dcAdministrarTerminales.SE_TERMINALES rowTerm = new COA.WebCipol.Entidades.ClasesWs.dcAdministrarTerminales.SE_TERMINALES();
            int    shtID   = 0;
            string strPath = null;

            string[]          strdom           = null;
            Int32             inti             = default(Int32);
            DirectoryEntry    objIngreso       = default(DirectoryEntry);
            DirectorySearcher objBuscar        = default(DirectorySearcher);
            SearchResult      objResultado     = default(SearchResult);
            FSeguridad        objFacTerminales = new FSeguridad();

            objEncriptarNET     = new TresDES();
            objEncriptarNET.IV  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.IV;
            objEncriptarNET.Key = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Key;


            if (string.IsNullOrEmpty(filtro2.codterminal.Trim()))
            {
                objRetorno.MensajeError       = "El Código de Terminal es un dato obligatorio.";
                objRetorno.ResultadoEjecucion = false;
                return(objRetorno);
            }
            else
            {
                if (VerificarSiExisteCODTERMINAL())
                {
                    objRetorno.MensajeError       = "El Código de Terminal ya existe.";
                    objRetorno.ResultadoEjecucion = false;
                    return(objRetorno);
                }
            }
            //GCP-Cambio ID: 9145
            if (string.IsNullOrEmpty(filtro2.codterminal.Trim()))
            {
                objRetorno.MensajeError       = "El Nombre NETBIOS es un dato obligatorio.";
                objRetorno.ResultadoEjecucion = false;
                return(objRetorno);
            }
            else
            {
                string strErrorNombre = VerifNombreNETBIOS(filtro2.nombrecomputadora.Trim());
                if (string.IsNullOrEmpty(strErrorNombre))
                {
                    if (VerificarSiExisteNombreComputadora())
                    {
                        objRetorno.MensajeError       = "El Nombre NETBIOS es un dato obligatorio.";
                        objRetorno.ResultadoEjecucion = false;
                        return(objRetorno);
                    }
                }
                else
                {
                    objRetorno.MensajeError       = strErrorNombre;
                    objRetorno.ResultadoEjecucion = false;
                    return(objRetorno);
                }
            }

            //[AngelL] 20/02/2005 - Verificacion de la pc contra el dominio
            //si se usa seguridad integrada.
            //Una vez seguros que la información sobre el NombreNetBios fué
            //cargada, ActiveDirectory validará que el nombre exista en su
            //base si la seguridad es integrada.


            //si el dominio no es nulo, o sea, si se esta usando
            //seguridad integrada al dominio, se verifica
            //la pc contra el servicio de directorio usando la sintaxis LDAP
            if (ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.Seguridad_SoloDominio)
            {
                try
                {
                    strPath = "LDAP://";
                    strdom  = ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.NombreDominio.Split('.');
                    for (inti = 0; inti <= strdom.GetUpperBound(0); inti++)
                    {
                        strPath += "DC=";
                        strPath += strdom[inti];
                        strPath += ",";
                    }
                    strPath    = strPath.Substring(0, strPath.Length - 1);
                    objIngreso = new DirectoryEntry(strPath);

                    //construido el path, se agrega el filtro al buscador de
                    //directorio
                    objBuscar        = new DirectorySearcher(objIngreso);
                    objBuscar.Filter = "(&(objectClass=computer)(cn=" + filtro2.nombrecomputadora.Trim() + "))";
                    objResultado     = objBuscar.FindOne();
                }
                catch (Exception ex)
                {
                    objResultado            = null;
                    objRetorno.MensajeError = ex.Message;
                    //lblMSJAltaModif.Text = ex.StackTrace;
                }

                //si no se obtuvieron resultados, se advierte
                if (objResultado == null)
                {
                    objRetorno.MensajeError       = "La terminal indicada no pertenece al Dominio " + ManejoSesion.DatosCIPOLSesion.DatosPadreCIPOLCliente.NombreDominio + " o en este momento no se puede establecer conexión con el Dominio. Verifique. Terminal no encontrada.";
                    objRetorno.ResultadoEjecucion = false;
                    return(objRetorno);
                }
            }

            //if (this.cboAreas.SelectedIndex == 0)
            if (filtro2.idarea.Equals(0))
            {
                objRetorno.MensajeError       = "La Ubicación Física de la terminal es un datos obligatorio.";
                objRetorno.ResultadoEjecucion = false;
                return(objRetorno);
            }

            //Si es un alta de terminal
            if (filtro2.idterminal == 1)
            {
                rowTerm            = new COA.WebCipol.Entidades.ClasesWs.dcAdministrarTerminales.SE_TERMINALES();
                rowTerm.IDTERMINAL = -1;
            }
            else
            {
                rowTerm.IDTERMINAL = Convert.ToInt32(filtro2.idterminal);
            }
            rowTerm.CODTERMINAL       = filtro2.codterminal;                    //this.txtCodTerminal.Text.Trim();
            rowTerm.NOMBRECOMPUTADORA = filtro2.nombrecomputadora;              //this.txtNombreTerminal.Text.Trim();
            rowTerm.NOMBREAREA        = filtro2.nombrearea;                     //this.cboAreas.SelectedItem.ToString().Trim();
            rowTerm.IDAREA            = System.Convert.ToInt16(filtro2.idarea); //this.cboAreas.SelectedValue
            rowTerm.USOHABILITADO     = objEncriptarNET.Criptografia(Accion.Encriptacion, (filtro2.Habilitada ? "1" : "0").ToString());
            rowTerm.MODELOPROCESADOR  = filtro2.modeloprocesador;               //this.txtProcesador.Text;
            rowTerm.CANTMEMORIARAM    = Convert.ToInt16(filtro2.cantmemoriaram);
            rowTerm.TAMANIODISCO      = Convert.ToInt16(filtro2.tamaniodisco);
            rowTerm.MODELOACELVIDEO   = filtro2.modeloacelvideo;
            rowTerm.DESCADICIONAL     = filtro2.descadicional;
            rowTerm.MODELOMONITOR     = filtro2.modelomonitor;
            if (filtro2.origenactualizacion == "R")
            {
                rowTerm.ORIGENACTUALIZACION = "R";
            }
            else
            {
                rowTerm.ORIGENACTUALIZACION = "L";
            }

            dcDatos.lstSE_TERMINALES.Add(rowTerm);
            if (filtro2.idterminal == 0)
            {
                shtID = objFacTerminales.AdministrarTerminales(dcDatos);
                if (shtID == 0)
                {
                    objRetorno.MensajeError       = "No se han podido actualizar los datos de la terminal en el servidor.";
                    objRetorno.ResultadoEjecucion = false;
                }
                else
                {
                    //LimpiarControles();
                    ////lblMSJAltaModif.Text = "Los datos fueron guardados";
                    //ScriptManager.RegisterStartupScript(this, GetType(), "", "alert('Los datos fueron guardados.');", true);
                    objRetorno.MensajeError       = "Los datos fueron guardados.";
                    objRetorno.ResultadoEjecucion = false;
                }
            }
            else
            {
                if (objFacTerminales.AdministrarTerminales(dcDatos) > 0)
                {
                    //MostrarFormAltaModif(false);
                    //LlenarGrilla();
                    objRetorno.MensajeServicio    = "Los datos fueron guardados";
                    objRetorno.ResultadoEjecucion = true;
                }
                else
                {
                    //MostrarFormAltaModif(false);
                    objRetorno.MensajeError       = "No se han podido actualizar los datos de la terminal en el servidor.";
                    objRetorno.ResultadoEjecucion = false;
                }
            }
            //Retorna el resultado
            return(objRetorno);
        }