예제 #1
0
파일: BPPage.cs 프로젝트: GCSoft/CEDHNL
        // Evento PreLoad
        protected void Override_PagePreLoad(object sender, EventArgs e)
        {
            DAArea oDAArea = new DAArea();
             ENTSession oENTSession;

             GCEncryption gcEncryption = new GCEncryption();

             String sKey = "";
             String sPage = "";

             // Validación. Solo la primera vez que entre a la página
             if (this.IsPostBack) { return; }

             // Mensaje de error general
             sKey = gcEncryption.EncryptString("[V01] Acceso denegado", true);

             // Sesión
             if (this.Session["oENTSession"] == null){
            this.Response.Redirect("~/Index.aspx", true);
             }

             // Información de Sesión
             oENTSession = (ENTSession)this.Session["oENTSession"];

             // Token generado
             if (!oENTSession.TokenGenerado){
            this.Response.Redirect("~/Index.aspx", true);
             }

             // Página que esta visitando
             sPage = this.Request.Url.AbsolutePath;
             sPage = sPage.Split(new Char[] { '/' })[sPage.Split(new Char[] { '/' }).Length - 1];

             // Validación de permisos en la página actual
             if (sPage != "AppIndex.aspx" && sPage != "saLogout.aspx" && sPage != "saNotificacion.aspx"){

            // Permisos
            if (oENTSession.tblSubMenu.Select("sPageName = '" + sPage + "'").Length < 1){
               sKey = gcEncryption.EncryptString("[V02] No tiene permisos para acceder a esta página", true);
               this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx?key=" + sKey, true);
            }
             }

             // Validación de acceso a opciones [System Administrator]
            if ((sPage == "scatArea.aspx" || sPage == "scatMenu.aspx" || sPage == "scatSubMenu.aspx") && (oENTSession.idRol != 1) ){

            sKey = gcEncryption.EncryptString("[V03] No tiene permisos para acceder a esta página", true);
            this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx?key=" + sKey, true);
             }

             // Deshabilitar caché
             this.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
        }
예제 #2
0
파일: BPArea.cs 프로젝트: GCSoft/CEDHNL
        ///<remarks>
        ///   <name>BPArea.SelectArea</name>
        ///   <create>21-Octubre-2013</create>
        ///   <author>GCSoft - Web Project Creator BETA 1.0</author>
        ///</remarks>
        ///<summary>Consulta el catálogo de Áreas</summary>
        ///<param name="oENTArea">Entidad de Area con los filtros necesarios para la consulta</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse SelectArea(ENTArea oENTArea)
        {
            DAArea oDAArea = new DAArea();
             ENTResponse oENTResponse = new ENTResponse();

            try{

            // Transacción en base de datos
            oENTResponse = oDAArea.SelectArea(oENTArea, this.sConnectionApplication, 0);

            // Validación de error en consulta
            if (oENTResponse.GeneratesException) { return oENTResponse; }

            // Validación de mensajes de la BD
            oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
            if (oENTResponse.sMessage != "") { return oENTResponse; }

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }