Пример #1
0
        // Evento PreLoad

        protected void Override_PagePreLoad(object sender, EventArgs e)
        {
            DAArea     oDAArea = new DAArea();
            ENTSession oENTSession;

            Encryption utilEncryption = new Encryption();

            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 = utilEncryption.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 = utilEncryption.EncryptString("[V02] No tiene permisos para acceder a esta página", true);
                    this.Response.Redirect("~/Application/WebApp/Private/SysApp/saNotificacion.aspx?key=" + sKey, true);
                }

                // Compañía activa
                if (oENTSession.idArea != 1)
                {
                    if (oDAArea.IsAreaActive(oENTSession.idArea, ConfigurationManager.ConnectionStrings["Application.DBCnn"].ToString(), 0) == false)
                    {
                        sKey = utilEncryption.EncryptString("[V04] Su compañía 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.idArea != 1))
            {
                sKey = utilEncryption.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
 public BLArea()
 {
     repository = new DAArea();
 }