// 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); }
public BLArea() { repository = new DAArea(); }