/**
     * codEstructPagina: Estructura de pagína.
     * Retorno:
     *  '' => No tiene acceso a esta opción.
     *  '0' => Acceso de Solo Lectura.
     *  '1' => Acceso de Lectura y Escritura.
     **/
    public String ValidaAccesoOpcion(String codEstructPagina)
    {
        String retorno = String.Empty;
        OpcionSeguridadBEList opciones = null;
        OpcionSeguridadBE     opcion   = null;

        try
        {
            opciones = Profile.Opciones;

            if (opciones != null)
            {
                opcion = opciones.Find(delegate(OpcionSeguridadBE p) { return(p.CSTRUCT.Trim().Equals(codEstructPagina)); });
                if (opcion != null)
                {
                    if (opcion.IND_REL.Trim().Equals("A"))
                    {
                        retorno = CONSTANTE_SEGURIDAD.AccesoEdicion;
                    }
                    else if (opcion.IND_REL.Trim().Equals("C"))
                    {
                        retorno = CONSTANTE_SEGURIDAD.AccesoConsulta;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            this.Web_ErrorEvent(this, ex);
        }
        return(retorno);
    }
    protected void btnRefreshOpciones_OnClick(object sender, EventArgs e)
    {
        PerfilBL          oPerfilBL          = new PerfilBL();
        OpcionSeguridadBE oOpcionSeguridadBE = new OpcionSeguridadBE();

        oPerfilBL.ErrorEvent += new PerfilBL.ErrorDelegate((Master as Seguridad).Transaction_ErrorEvent);

        if (!this.txhModuloSelected.Value.Equals(String.Empty))
        {
            oOpcionSeguridadBE.CCOAPL   = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL    = 0;
            oOpcionSeguridadBE.CSTRUCT  = this.txhModuloSelected.Value.Trim();
            this.oOpcionSeguridadBEList = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, perfilID, 0 /*Profile.Usuario.Nid_usuario*/);

            if (oOpcionSeguridadBEList != null && oOpcionSeguridadBEList.Count == 0)
            {
                oOpcionSeguridadBEList.Add(new OpcionSeguridadBE());
            }

            this.chkMantAll.Checked = true;
            this.chkConsAll.Checked = true;

            this.gvOpciones.DataSource = oOpcionSeguridadBEList;
            this.gvOpciones.DataBind();
        }
    }
    public void CreaOpcionVertical(out Panel oMenuItem, OpcionSeguridadBE oOpSeguridad, int nivelEstilo)
    {
        oMenuItem = new Panel();
        HyperLink link = new HyperLink();
        int       alto, ancho;

        GetDimensionesImagen(oOpSeguridad.NO_IMG_OFF, out ancho, out alto);

        if (!oOpSeguridad.NO_IMG_OFF.Trim().Equals(String.Empty) && ancho > 0 && alto > 0)
        { //Opcion de tipo imagen
            Image imgOpcion = new Image
            {
                BorderWidth = 0,
                ImageUrl    = String.Format("../{0}", oOpSeguridad.NO_IMG_OFF)
            };
            if (!oOpSeguridad.NO_IMG_ON.Trim().Equals(String.Empty))
            {
                imgOpcion.Attributes["onmouseover"] = String.Format("javascript: this.src='../{0}';", oOpSeguridad.NO_IMG_ON);
                imgOpcion.Attributes["onmouseout"]  = String.Format("javascript: this.src='../{0}';", oOpSeguridad.NO_IMG_OFF);
            }
            imgOpcion.Width           = ancho;
            imgOpcion.Height          = alto;
            imgOpcion.Style["cursor"] = "pointer";

            link.Controls.Add(imgOpcion);
        }
        else
        {
            //Viñeta
            Image imgVineta = new Image
            {
                ImageUrl = "Images/Menu_Izquierda/mboff.gif"
            };
            link.Controls.Add(imgVineta);
            //Texto
            Label txtOpcion = new Label
            {
                Text = oOpSeguridad.VDEMEN
            };
            link.Controls.Add(txtOpcion);
        }

        if (nivelEstilo > 3)
        {
            nivelEstilo = 3;
        }
        oMenuItem.CssClass = String.Format("clsMenuNivel{0}Ver", nivelEstilo);

        if (!oOpSeguridad.NO_URL_WEB.Trim().Equals(String.Empty))
        {
            link.NavigateUrl = String.Format("{0}?fc=1", oOpSeguridad.NO_URL_WEB);
        }
        /*Cargamos Estilo*/
        oMenuItem.Attributes.Add("onmouseover", String.Format("javascript:this.className='clsMenuNivel{0}VerHover'", nivelEstilo));
        oMenuItem.Attributes.Add("onmouseout", String.Format("javascript:this.className='clsMenuNivel{0}Ver'", nivelEstilo));
        oMenuItem.ID = oOpSeguridad.CSTRUCT;
        oMenuItem.Controls.Add(link);
    }
示例#4
0
    private void CargaMenu()
    {
        PerfilBL              oPerfilBL              = new PerfilBL();
        OpcionSeguridadBE     oOpcionSeguridadBE     = new OpcionSeguridadBE();
        OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();
        OpcionSeguridadBEList oOpcionSeguridadBEListHijos;

        oPerfilBL.ErrorEvent += new PerfilBL.ErrorDelegate(Transaction_ErrorEvent);
        Panel oMenuItem;
        Panel oMenuItemHijos;

        //String cadenaID;
        try
        {
            oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL   = 0;
            oOpcionSeguridadBE.CSTRUCT = CONSTANTE_SEGURIDAD.Seguridad;
            oOpcionSeguridadBEList     = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, Profile.Usuario.NID_PERFIL, Profile.Usuario.Nid_usuario);

            OpcionSeguridadBE oOpSeguridad;
            for (int i = 0; i < oOpcionSeguridadBEList.Count; i++)
            {
                oOpSeguridad = oOpcionSeguridadBEList[i];
                if (oOpSeguridad.CSTRUCT.Length == 6 &&//Solo los item de la raiz
                    oOpSeguridad.fl_ind_visible.Trim().Equals("1") &&
                    oOpcionSeguridadBEList.DebeVerOpcion(oOpSeguridad.CSTRUCT))
                {
                    (Master as Principal).CreaOpcionVertical(out oMenuItem, oOpSeguridad, 1);
                    oMenuItemHijos = null;
                    if (oOpSeguridad.fl_ind_ver_hijos.Trim().Equals("1"))
                    {
                        oOpcionSeguridadBEListHijos = new OpcionSeguridadBEList();
                        for (int j = i; j < oOpcionSeguridadBEList.Count; j++)
                        {
                            if (oOpcionSeguridadBEList[j].CSTRUCT.IndexOf(oOpSeguridad.CSTRUCT) == 0)
                            {
                                oOpcionSeguridadBEListHijos.Add(oOpcionSeguridadBEList[j]);
                            }
                        }
                        //(Master as Principal).GetHijosMenuVertical(out oMenuItemHijos, 4, 2, oOpcionSeguridadBEListHijos, out cadenaID);
                        (Master as Principal).GetHijosMenuVertical(out oMenuItemHijos, 4, 2, oOpcionSeguridadBEListHijos);
                    }

                    divOpciones.Controls.Add(oMenuItem);
                    if (oMenuItemHijos != null)
                    {
                        divOpciones.Controls.Add(oMenuItemHijos);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Web_ErrorEvent(this, ex);
        }
    }
 //F @001
 //DAC - 30/03/2011 - Inicio
 public OpcionSeguridadBEList GetAllOpcionesConcesionario(OpcionSeguridadBE oOpcionSeguridadBE)
 {
     try
     {
         return(new PerfilDA().GetAllOpcionesConcesionario(oOpcionSeguridadBE));
     }
     catch (Exception ex)
     {
         ErrorEvent(this, ex);
     }
     return(null);
 }
 public OpcionSeguridadBEList GetAllOpciones(OpcionSeguridadBE oOpcionSeguridadBE, Int32 perfilID, Int32 idUsuario)
 {
     try
     {
         return(new PerfilDA().GetAllOpciones(oOpcionSeguridadBE, perfilID, idUsuario));
     }
     catch (Exception ex)
     {
         ErrorEvent(this, ex);
     }
     return(null);
 }
示例#7
0
        //DAC - 22/12/2010 - Fin

        //DAC - 30/03/2011 - Inicio
        private OpcionSeguridadBE ConstructOpcionesConcesionario(IDataReader reader)
        {
            OpcionSeguridadBE oOpcionSeguridadBE = new OpcionSeguridadBE();
            int indice;

            indice = reader.GetOrdinal("NID_OPCION");
            if (!reader.IsDBNull(indice))
            {
                oOpcionSeguridadBE.NID_OPCION = reader.GetInt32(indice);
            }

            indice = reader.GetOrdinal("CCOAPL");
            oOpcionSeguridadBE.CCOAPL = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("CCOOPM");
            oOpcionSeguridadBE.CCOOPM = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("CSTRUCT");
            oOpcionSeguridadBE.CSTRUCT = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("VDEMEN");
            oOpcionSeguridadBE.VDEMEN = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("no_pagina_html");
            oOpcionSeguridadBE.NO_URL_WEB = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("no_img_on");
            oOpcionSeguridadBE.NO_IMG_ON = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("NO_IMG_OFF");
            oOpcionSeguridadBE.NO_IMG_OFF = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("FE_CREA");
            if (!reader.IsDBNull(indice))
            {
                oOpcionSeguridadBE.FE_CREA = reader.GetDateTime(indice);
            }

            indice = reader.GetOrdinal("IND_REL");
            oOpcionSeguridadBE.IND_REL = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("fl_ind_visible");
            oOpcionSeguridadBE.fl_ind_visible = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("fl_ind_ver_hijos");
            oOpcionSeguridadBE.fl_ind_ver_hijos = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            indice = reader.GetOrdinal("fl_icono");
            oOpcionSeguridadBE.fl_icono = reader.IsDBNull(indice) ? String.Empty : reader.GetString(indice);

            return(oOpcionSeguridadBE);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            PerfilBL          oPerfilBL          = new PerfilBL();
            OpcionSeguridadBE oOpcionSeguridadBE = new OpcionSeguridadBE();

            oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL   = 0;
            oOpcionSeguridadBE.CSTRUCT = String.Empty;
            Profile.Opciones           = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, Profile.Usuario.NID_PERFIL, Profile.Usuario.Nid_usuario);
        }
    }
        //I @001
        public Int32 InsertarOpcionByPerfil(PerfilBE oPerfil, String XML)
        {
            //DAC - 01/04/2011 - Inicio
            Int32 xrpta = 0;

            //Int32 opcionID;
            //String[] arrIndRelacion = listaIndRelacion.Split('|');
            //bool flagPrimerIngreso = true;
            //DAC - 01/04/2011 - Fin
            try
            {
                OpcionSeguridadBE oOpcion = new OpcionSeguridadBE();
                oOpcion.CCOAPL             = oPerfil.CCOAPL;
                oOpcion.CO_USUARIO         = oPerfil.CO_USUARIO_CREA;
                oOpcion.NO_ESTACION_RED    = oPerfil.NO_ESTACION_RED;
                oOpcion.NO_USUARIO         = oPerfil.NO_USUARIO_RED;
                oOpcion.nid_perfil         = oPerfil.NID_PERFIL;
                oOpcion.cad_lista_opciones = XML;

                PerfilDA oPerfilDA = new PerfilDA();
                xrpta = oPerfilDA.InsertarOpcionByPerfil(oOpcion);

                //for (int i = 0; i < arrOpciones.Length; i++)
                //{
                //    if (Int32.TryParse(arrOpciones[i], out opcionID))
                //    {
                //        oOpcion.NID_OPCION = opcionID;
                //        oOpcion.IND_REL = arrIndRelacion[i];

                //        if (flagPrimerIngreso)
                //        {
                //            oPerfilDA.InsertarOpcionByPerfil(oOpcion, oPerfil.NID_PERFIL, "1");
                //            flagPrimerIngreso = false;
                //        }
                //        else oPerfilDA.InsertarOpcionByPerfil(oOpcion, oPerfil.NID_PERFIL, "0");
                //    }
                //}
                //oPerfilDA.InsertarOpcionByPerfil(oOpcion, oPerfil.NID_PERFIL, "2");
                //return 1;
                //DAC - 01/04/2011 - Fin
            }
            catch (Exception ex)
            {
                ErrorEvent(this, ex);
            }
            //DAC - 04/04/2011 - Inicio
            //return 0;
            return(xrpta);
            //DAC - 04/04/2011 - Fin
        }
    private String CreaOpcionHorizontalResponsive1(OpcionSeguridadBE oOpSeguridad)
    {
        String oMenuItem = "";

        if (!String.IsNullOrEmpty(oOpSeguridad.NO_URL_WEB))
        {
            String URL_Page = Page.ResolveUrl("~/" + oOpSeguridad.NO_URL_WEB);
            oMenuItem = String.Format("<a href='{0}?fc=1' data-toggle='dropdown' class='dropdown-toggle'><span>{1}</span><span class='caret'></span></a>", URL_Page, oOpSeguridad.VDEMEN);
        }
        else
        {
            oMenuItem = String.Format("<a href='#' data-toggle='dropdown' class='dropdown-toggle'><span>{0}</span><span class='caret'></span></a>", oOpSeguridad.VDEMEN);
        }
        return(oMenuItem);
    }
    private String CreaOpcionHorizontalResponsive(OpcionSeguridadBE oOpSeguridad)
    {
        String oMenuItem;

        if (!String.IsNullOrEmpty(oOpSeguridad.NO_URL_WEB))
        {
            String URL_Page = Page.ResolveUrl("~/" + oOpSeguridad.NO_URL_WEB);
            oMenuItem = String.Format("<a href='{0}?fc=1'><span>{1}</span></a>", URL_Page, oOpSeguridad.VDEMEN);
        }
        else
        {
            oMenuItem = String.Format("<a href='#'>{0}&nbsp;&nbsp;&nbsp;<span class='caret-right'></span></a>", oOpSeguridad.VDEMEN);
        }
        return(oMenuItem);
    }
    private void CargaOpcionesModulo()
    {
        PerfilBL              oPerfilBL              = new PerfilBL();
        OpcionSeguridadBE     oOpcionSeguridadBE     = new OpcionSeguridadBE();
        OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();

        oPerfilBL.ErrorEvent += new PerfilBL.ErrorDelegate((Master as Seguridad).Transaction_ErrorEvent);

        oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
        oOpcionSeguridadBE.NIVEL   = 1;
        oOpcionSeguridadBE.CSTRUCT = String.Empty;//this.oUsuarioBE.NID_PERFIL
        oOpcionSeguridadBEList     = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, 0, this.usuarioID /*Profile.Usuario.Nid_usuario*/);

        this.txhCodOpciones.Value = String.Empty;
        this.txhIndOpciones.Value = String.Empty;

        foreach (OpcionSeguridadBE oOpcion in oOpcionSeguridadBEList)
        {
            oOpcionSeguridadBE         = new OpcionSeguridadBE();
            oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL   = 0;
            oOpcionSeguridadBE.CSTRUCT = oOpcion.CSTRUCT.Trim();

            if (this.txhModuloSelected.Value.Trim().Equals(String.Empty))
            {
                this.txhModuloSelected.Value = oOpcion.CSTRUCT.Trim();
            }

            foreach (OpcionSeguridadBE oOpcionDet in oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, 0, this.usuarioID /*Profile.Usuario.Nid_usuario*/))
            {
                if (this.txhCodOpciones.Value.Trim().IndexOf("|" + oOpcionDet.NID_OPCION.ToString().Trim() + "|") < 0)
                {
                    this.txhCodOpciones.Value += txhCodOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.NID_OPCION.ToString() + "|" : oOpcionDet.NID_OPCION.ToString() + "|";
                    this.txhIndOpciones.Value += txhIndOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.IND_REL + "|" : oOpcionDet.IND_REL + "|";
                }
            }
        }

        if (oOpcionSeguridadBEList != null && oOpcionSeguridadBEList.Count == 0)
        {
            oOpcionSeguridadBEList.Add(new OpcionSeguridadBE());
        }
        indRefreshGrilla          = "1";
        this.gvModulos.DataSource = oOpcionSeguridadBEList;
        this.gvModulos.DataBind();

        btnRefreshOpciones_OnClick(null, null);
    }
    /**
     * codEstructPagina: Estructura de pagína.
     * Retorno:
     *  '' => No tiene acceso a esta opción.
     *  '0' => Acceso de Solo Lectura.
     *  '1' => Acceso de Lectura y Escritura.
     **/
    public String ValidaTipoAccesoPagina(Page sender, String codEstructPagina)
    {
        String retorno = String.Empty;
        OpcionSeguridadBEList opciones = null;
        OpcionSeguridadBE     opcion   = null;

        try
        {
            opciones = Profile.Opciones;

            if (opciones != null)
            {
                opcion = opciones.Find(delegate(OpcionSeguridadBE p) { return(p.CSTRUCT.Trim().Equals(codEstructPagina)); });
                if (opcion != null)
                {
                    if (opcion.IND_REL.Trim().Equals("A"))
                    {
                        retorno = CONSTANTE_SEGURIDAD.AccesoEdicion;
                    }
                    else if (opcion.IND_REL.Trim().Equals("C"))
                    {
                        retorno = CONSTANTE_SEGURIDAD.AccesoConsulta;
                    }
                    else
                    {
                        JavaScriptHelper.Alert(sender, Message.keyAccesoPaginaDenegado, String.Empty);
                        Response.Redirect("../Inicio/Default.aspx", false);
                        Response.End();
                    }
                }
                else
                {
                    JavaScriptHelper.Alert(sender, Message.keyAccesoPaginaDenegado, String.Empty);
                    Response.Redirect("../Inicio/Default.aspx", false);
                    Response.End();
                }
            }
            else
            {
                btnCerrarSesion_OnClick(null, null);
            }
        }
        catch (Exception ex)
        {
            Web_ErrorEvent(this, ex);
        }
        return(retorno);
    }
    private void CreaOpcionHorizontal(out MenuItem oMenuItem, OpcionSeguridadBE oOpSeguridad)
    {
        oMenuItem = new MenuItem();
        int alto, ancho;

        GetDimensionesImagen(oOpSeguridad.NO_IMG_OFF, out ancho, out alto);

        if (!oOpSeguridad.NO_IMG_OFF.Trim().Equals(String.Empty) && ancho > 0 && alto > 0)
        {
            //Opcion de tipo imagen
            System.IO.StringWriter sw        = new System.IO.StringWriter();
            HtmlTextWriter         htmWriter = new HtmlTextWriter(sw);
            Image imgOpcion = new Image();
            imgOpcion.BorderWidth = 0;
            imgOpcion.ImageUrl    = String.Format("../{0}", oOpSeguridad.NO_IMG_OFF);
            if (!oOpSeguridad.NO_IMG_ON.Trim().Equals(String.Empty))
            {
                imgOpcion.Attributes["onmouseover"] = String.Format("javascript: this.src='../{0}';", oOpSeguridad.NO_IMG_ON);
                imgOpcion.Attributes["onmouseout"]  = String.Format("javascript: this.src='../{0}';", oOpSeguridad.NO_IMG_OFF);
            }
            imgOpcion.Width           = ancho;
            imgOpcion.Height          = alto; //Unit.Pixel(24);
            imgOpcion.Style["cursor"] = "pointer";

            imgOpcion.RenderControl(htmWriter);
            oMenuItem.Text = sw.ToString();
            //oMenuItem.ImageUrl = String.Format("~/{0}", oOpSeguridad.NO_IMG_OFF);
        }
        else
        { //Opcion de tipo texto
            oMenuItem.Text = oOpSeguridad.VDEMEN;
        }

        if (!oOpSeguridad.NO_URL_WEB.Trim().Equals(String.Empty))
        {
            oMenuItem.NavigateUrl = String.Format("{0}?fc=1", oOpSeguridad.NO_URL_WEB);;
        }
        else
        {
            oMenuItem.Selectable = false;
        }
    }
示例#15
0
        //DAC - 01/04/2011 - Fin

        //DAC - 30/03/2011 - Inicio
        public OpcionSeguridadBEList GetAllOpcionesConcesionario(OpcionSeguridadBE oOpcionSeguridadBE)
        {
            OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();
            IDataReader           reader;

            using (Database db = new Database())
            {
                db.ProcedureName = "SGSNET_SPS_MODULOS_CONCESIONARIO";
                db.AddParameter("@VI_CH_APLICA", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CCOAPL);
                db.AddParameter("@VI_IN_NIVEL", DbType.Int32, ParameterDirection.Input, oOpcionSeguridadBE.NIVEL);
                db.AddParameter("@VI_VC_STRUCT", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CSTRUCT);

                reader = db.GetDataReader();
            }

            while (reader.Read())
            {
                oOpcionSeguridadBEList.Add(this.ConstructOpcionesConcesionario(reader));
            }
            reader.Close();

            return(oOpcionSeguridadBEList);
        }
示例#16
0
        public OpcionSeguridadBEList GetAllOpciones(OpcionSeguridadBE oOpcionSeguridadBE, Int32 perfilID, Int32 idUsuario)
        {
            OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();
            IDataReader           reader;

            using (Database db = new Database())
            {
                db.ProcedureName = "SGSNET_SPS_MODULOS";
                db.AddParameter("@VI_CH_APLICA", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CCOAPL);
                db.AddParameter("@VI_IN_NIVEL", DbType.Int32, ParameterDirection.Input, oOpcionSeguridadBE.NIVEL);
                db.AddParameter("@VI_VC_STRUCT", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CSTRUCT);
                db.AddParameter("@VI_IN_PERFIL", DbType.Int32, ParameterDirection.Input, perfilID);
                db.AddParameter("@vi_in_Nid_usuario", DbType.Int32, ParameterDirection.Input, idUsuario);
                reader = db.GetDataReader();
            }

            while (reader.Read())
            {
                oOpcionSeguridadBEList.Add(ConstructOpcion(reader));
            }
            reader.Close();

            return(oOpcionSeguridadBEList);
        }
示例#17
0
        //DAC - 01/04/2011 - Inicio
        //public Int32 InsertarOpcionByPerfil(OpcionSeguridadBE oOpcionSeguridadBE, Int32 perfilID, String indLimp)
        public Int32 InsertarOpcionByPerfil(OpcionSeguridadBE oOpcionSeguridadBE)
        {
            Int32 retorno = 0;

            try
            {
                using (Database db = new Database())
                {
                    db.ProcedureName = "sgsnet_spi_perfil_vs_menu_sistema";
                    db.AddParameter("@vi_ch_aplicacion", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CCOAPL);
                    db.AddParameter("@vi_nid_perfil", DbType.Int32, ParameterDirection.Input, oOpcionSeguridadBE.nid_perfil);
                    //I @001
                    db.AddParameter("@vi_xml_menu", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.cad_lista_opciones);
                    //F @001
                    db.AddParameter("@vi_va_co_usuario", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.CO_USUARIO);
                    db.AddParameter("@vi_va_no_usuario", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.NO_USUARIO);
                    db.AddParameter("@vi_va_estacion_red", DbType.String, ParameterDirection.Input, oOpcionSeguridadBE.NO_ESTACION_RED);

                    retorno = (Int32)db.ExecuteScalar();
                }
            }
            catch { throw; }
            return(retorno);
        }
    protected void Logeo_Authenticate(object sender, AuthenticateEventArgs e)
    {
        String         indLogeo, msgLogeo;
        SeguridadBL    oSeguridadBL = new SeguridadBL();
        UsuarioBE      oUsuario     = new UsuarioBE();
        MembershipUser user;

        /*Opciones de seguridad*/
        PerfilBL          oPerfilBL          = new PerfilBL();
        OpcionSeguridadBE oOpcionSeguridadBE = new OpcionSeguridadBE();

        try
        {
            oSeguridadBL.ErrorEvent += new SeguridadBL.ErrorDelegate(Transaction_ErrorEvent);
            oPerfilBL.ErrorEvent    += new PerfilBL.ErrorDelegate(Transaction_ErrorEvent);
            onError  = false;
            oUsuario = oSeguridadBL.ValidaLogeoUsuario(this.pnlLogeo.UserName, this.pnlLogeo.Password, ConfigurationManager.AppSettings["AplicacionID"], out indLogeo, out msgLogeo);
            if (onError)
            {
                return;
            }

            if (indLogeo.Equals("0"))
            {
                if (ValidaHorarioAcceso(oUsuario, out msgLogeo))
                {
                    e.Authenticated = true;
                }
                else
                {
                    ((Panel)pnlLogeo.FindControl("pnlMensaje")).Visible = true;
                    this.pnlLogeo.FailureText = msgLogeo;
                    e.Authenticated           = false;
                }
            }
            else
            {
                e.Authenticated = false;
            }

            if (e.Authenticated)
            {
                user = Membership.GetUser(this.pnlLogeo.UserName.ToUpper().Trim());
                if (user == null)
                {
                    user = Membership.CreateUser(this.pnlLogeo.UserName.ToUpper().Trim(), this.pnlLogeo.Password);
                }

                oUsuario.CUSR_ID = this.pnlLogeo.UserName.ToUpper().Trim();
                System.Net.IPHostEntry host;
                host = System.Net.Dns.GetHostEntry(Request.ServerVariables["REMOTE_HOST"]);

                //String clientComputerName = host.HostName;
                String clientComputerName = String.Concat((isMobileBrowser() ? "MT" : "MW"), "-", host.HostName); //MW => Mobile Web|MT => Mobile Tablet

                String   usuarioRed = Request.ServerVariables["LOGON_USER"];
                String[] arrusuarioRed;
                if (usuarioRed != null)
                {
                    arrusuarioRed = usuarioRed.Split('\\');
                    if (arrusuarioRed.Length > 0)
                    {
                        usuarioRed = arrusuarioRed[arrusuarioRed.Length - 1];
                    }
                }
                else
                {
                    usuarioRed = String.Empty;
                }

                // Primero comprobamos si se accede desde un proxy
                string ipAddress1 = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                // Acceso desde una máquina particular
                string ipAddress2 = Request.ServerVariables["REMOTE_ADDR"];
                string ipAddress  = string.IsNullOrEmpty(ipAddress1) ? ipAddress2 : ipAddress1;

                string EstacionRed = Dns.GetHostEntry(ipAddress).HostName;  //Estacion de Red.

                WindowsIdentity user_red = WindowsIdentity.GetCurrent();
                string          usured   = user_red.Name;

                /*Opciones relacionadas a su perfil*/
                ProfileCommon profile = Profile.GetProfile(oUsuario.CUSR_ID);
                profile.Estacion      = clientComputerName;
                profile.UsuarioRed    = usuarioRed;
                profile.Usuario       = oUsuario;
                profile.PageSize      = 10;
                profile.PageSizePopUp = 8;
                profile.PageSizeFiles = 3;
                profile.Aplicacion    = ConfigurationManager.AppSettings["AplicacionID"];
                profile.Save();

                this.pnlLogeo.DestinationPageUrl = "Inicio/Default.aspx";
            }
            else
            {
                ((Panel)pnlLogeo.FindControl("pnlMensaje")).Visible = true;
                this.pnlLogeo.FailureText = msgLogeo;

                if (indLogeo.Equals("-5"))
                {
                    int nroIntentosFallidos = 0;
                    if (ViewState["nroIntentosFallidos"] != null)
                    {
                        nroIntentosFallidos = (int)ViewState["nroIntentosFallidos"];
                    }
                    nroIntentosFallidos++;

                    int int_Bloqueo;
                    int.TryParse(txhPolitica.Value.ToString(), out int_Bloqueo);

                    if (nroIntentosFallidos >= int_Bloqueo)
                    {
                        msgLogeo = "El usuario se encuentra bloqueado por exceso de errores en el ingreso de contraseña.";
                        oSeguridadBL.UpdateLogeoBloqueo(this.pnlLogeo.UserName, "1", msgLogeo);
                        nroIntentosFallidos = 0;
                    }

                    ViewState["nroIntentosFallidos"] = nroIntentosFallidos;
                }
            }
        }
        catch (Exception ex)
        {
            Session.Abandon();
            FormsAuthentication.SignOut();
            Response.Redirect(FormsAuthentication.LoginUrl, false);
            this.Web_ErrorEvent(this, ex);
        }
    }
示例#19
0
    private void CargaMenu()
    {
        PerfilBL              oPerfilBL              = new PerfilBL();
        OpcionSeguridadBE     oOpcionSeguridadBE     = new OpcionSeguridadBE();
        OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();
        OpcionSeguridadBEList oOpcionSeguridadBEListHijos;

        oPerfilBL.ErrorEvent += new PerfilBL.ErrorDelegate(Transaction_ErrorEvent);
        Panel oMenuItem;
        Panel oMenuItemHijos;

        //String cadenaID;
        String codEstructuraPaginaAbierta = String.Empty;

        txhSubOpciones.Value = String.Empty;
        if (codEstructuraPaginaAbierta.Trim().Equals(String.Empty) && ViewState["codEstructuraPaginaAbierta"] != null)
        {
            codEstructuraPaginaAbierta = (String)ViewState["codEstructuraPaginaAbierta"];
        }

        try
        {
            oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL   = 0;
            oOpcionSeguridadBE.CSTRUCT = CONSTANTE_SEGURIDAD.Mantenimiento_Tablas;
            oOpcionSeguridadBEList     = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, Profile.Usuario.NID_PERFIL, Profile.Usuario.Nid_usuario);
            oOpcionSeguridadBEList     = oOpcionSeguridadBEList.Ordenar();

            OpcionSeguridadBE oOpSeguridad;
            for (int i = 0; i < oOpcionSeguridadBEList.Count; i++)
            {
                oOpSeguridad = oOpcionSeguridadBEList[i];
                if (oOpSeguridad.CSTRUCT.Length == 6 &&//Solo los item de la raiz
                    oOpSeguridad.fl_ind_visible.Trim().Equals("1") &&
                    oOpcionSeguridadBEList.DebeVerOpcion(oOpSeguridad.CSTRUCT))
                {
                    (Master as Principal).CreaOpcionVertical(out oMenuItem, oOpSeguridad, 1);
                    oMenuItemHijos = null;
                    if (oOpSeguridad.fl_ind_ver_hijos.Trim().Equals("1"))
                    {
                        oOpcionSeguridadBEListHijos = new OpcionSeguridadBEList();
                        for (int j = i; j < oOpcionSeguridadBEList.Count; j++)
                        {
                            if (oOpcionSeguridadBEList[j].CSTRUCT.IndexOf(oOpSeguridad.CSTRUCT) == 0)
                            {
                                oOpcionSeguridadBEListHijos.Add(oOpcionSeguridadBEList[j]);
                            }
                        }
                        //(Master as Principal).GetHijosMenuVertical(out oMenuItemHijos, 4, 2, oOpcionSeguridadBEListHijos, out cadenaID);
                        (Master as Principal).GetHijosMenuVertical(out oMenuItemHijos, 4, 2, oOpcionSeguridadBEListHijos);
                    }

                    divOpciones.Controls.Add(oMenuItem);
                    if (oMenuItemHijos != null)
                    {
                        oMenuItem.Attributes["onClick"] = String.Format("javascript: return fc_SelOpcionMenuVertical('{0}', '{1}');"
                                                                        , oMenuItem.ClientID, this.txhSubOpciones.ClientID);
                        txhSubOpciones.Value           += oMenuItem.ClientID + "|";
                        oMenuItemHijos.ID               = oMenuItem.ID + "_SUBOP";
                        oMenuItemHijos.Style["display"] = "none";

                        if (codEstructuraPaginaAbierta.IndexOf(oMenuItem.ID) == 0)
                        {
                            oMenuItemHijos.Style["display"] = "inline";
                        }

                        divOpciones.Controls.Add(oMenuItemHijos);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Web_ErrorEvent(this, ex);
        }

        ViewState["codEstructuraPaginaAbierta"] = codEstructuraPaginaAbierta;
    }
    private void InicializaPagina()
    {
        PerfilBL              oPerfilBL              = new PerfilBL();
        OpcionSeguridadBE     oOpcionSeguridadBE     = new OpcionSeguridadBE();
        OpcionSeguridadBEList oOpcionSeguridadBEList = new OpcionSeguridadBEList();

        oPerfilBL.ErrorEvent += new PerfilBL.ErrorDelegate((Master as Seguridad).Transaction_ErrorEvent);

        this.cboEstado.cargarCombo(ConstanteBE.OBJECTO_TIPO_SELECCIONE);
        this.cboEstado.SelectedValue = "0";

        oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
        oOpcionSeguridadBE.NIVEL   = 1;
        oOpcionSeguridadBE.CSTRUCT = String.Empty;
        oOpcionSeguridadBEList     = oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, perfilID, 0 /*Profile.Usuario.Nid_usuario*/);

        this.txhModuloSelected.Value = String.Empty;

        foreach (OpcionSeguridadBE oOpcion in oOpcionSeguridadBEList)
        {
            oOpcionSeguridadBE         = new OpcionSeguridadBE();
            oOpcionSeguridadBE.CCOAPL  = Profile.Aplicacion;
            oOpcionSeguridadBE.NIVEL   = 0;
            oOpcionSeguridadBE.CSTRUCT = oOpcion.CSTRUCT.Trim();

            if (this.txhModuloSelected.Value.Equals(String.Empty))
            {
                this.txhModuloSelected.Value = oOpcion.CSTRUCT.Trim();
            }

            foreach (OpcionSeguridadBE oOpcionDet in oPerfilBL.GetAllOpciones(oOpcionSeguridadBE, perfilID, 0 /*Profile.Usuario.Nid_usuario*/))
            {
                //@001 - DAC - Inicio
                //if (this.txhCodOpciones.Value.Trim().IndexOf("|" + oOpcionDet.NID_OPCION.ToString() + "|") < 0)
                //{
                //    this.txhCodOpciones.Value += this.txhCodOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.NID_OPCION.ToString() + "|" : oOpcionDet.NID_OPCION.ToString() + "|";
                //    this.txhIndOpciones.Value += this.txhIndOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.IND_REL + "|" : oOpcionDet.IND_REL + "|";
                //}
                if (this.txhCodOpciones.Value.Trim().IndexOf("|" + oOpcionDet.NID_OPCION.ToString().Trim() + "|") < 0)
                {
                    this.txhCodOpciones.Value += this.txhCodOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.NID_OPCION.ToString().Trim() + "|" : oOpcionDet.NID_OPCION.ToString().Trim() + "|";
                    this.txhIndOpciones.Value += this.txhIndOpciones.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.IND_REL.Trim() + "|" : oOpcionDet.IND_REL.Trim() + "|";
                    //I @002
                    this.txhNidOpcionPerfil.Value += this.txhNidOpcionPerfil.Value.Trim().Equals(String.Empty) ? "|" + oOpcionDet.nid_opcion_perfil.ToString() + "|" : oOpcionDet.nid_opcion_perfil.ToString() + "|";
                    //F @002
                }
                //@001 - DAC - Fin
            }
        }

        if (oOpcionSeguridadBEList != null && oOpcionSeguridadBEList.Count == 0)
        {
            oOpcionSeguridadBEList.Add(new OpcionSeguridadBE());
        }
        indRefreshGrilla          = "1";
        this.gvModulos.DataSource = oOpcionSeguridadBEList;
        this.gvModulos.DataBind();

        /*oOpcionSeguridadBEList = new OpcionSeguridadBEList();
         * oOpcionSeguridadBEList.Add(new OpcionSeguridadBE());
         * this.gvOpciones.DataSource = oOpcionSeguridadBEList;
         * this.gvOpciones.DataBind();*/
        btnRefreshOpciones_OnClick(null, null);

        this.btnRefreshOpciones.Style["display"] = "none";
        ViewState["RowIndexSelected"]            = -1;

        this.btnGrabar.Visible   = false;
        this.btnAgregar.Visible  = false;
        this.btnEliminar.Visible = false;
        if (this.strIndiceTabOn == 0)
        {
            this.btnGrabar.Visible = true;
        }
        else
        {
            this.btnAgregar.Visible  = true;
            this.btnEliminar.Visible = true;
        }
    }