From 87bd80ae457906c56a6895784ec2016294c6b6fa Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Sat, 1 Dec 2018 15:17:33 +0100 Subject: [PATCH] General fix x problemi auth "ballerina" --- C-TRACK/App_Start/MyStartup.cs | 23 +++++++++++++++++++ C-TRACK/C-TRACK.csproj | 1 + C-TRACK/Global.asax.cs | 10 ++++---- C-TRACK/Web.config | 20 +++++++++++----- .../mod_enrollByJumperAuthKey.ascx.cs | 6 +++-- .../mod_menuTopCompact.ascx.cs | 2 +- C-TRACK/jumper.aspx.cs | 4 +++- C-TRACK/login.aspx.cs | 18 +++++++++++---- 8 files changed, 65 insertions(+), 19 deletions(-) create mode 100644 C-TRACK/App_Start/MyStartup.cs diff --git a/C-TRACK/App_Start/MyStartup.cs b/C-TRACK/App_Start/MyStartup.cs new file mode 100644 index 0000000..c260fc6 --- /dev/null +++ b/C-TRACK/App_Start/MyStartup.cs @@ -0,0 +1,23 @@ +using SteamWare; +using System; + +namespace C_TRACK.App_Start +{ + public class MyStartup + { + public static void Init() + { + logger.lg.scriviLog("Esecuzione MyStartup.init()", tipoLog.STARTUP); + try + { + // inizializzo appConf prima di tutto il resto... + memLayer.ML.resetAppConf(); + logger.lg.scriviLog("Completata esecuzione preliminare setup AppConf", tipoLog.STARTUP); + } + catch (Exception exc) + { + logger.lg.scriviLog(string.Format("Eccezione in fase di INIT preliminare applicazione{0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION); + } + } + } +} \ No newline at end of file diff --git a/C-TRACK/C-TRACK.csproj b/C-TRACK/C-TRACK.csproj index 8f44438..5c86d40 100644 --- a/C-TRACK/C-TRACK.csproj +++ b/C-TRACK/C-TRACK.csproj @@ -368,6 +368,7 @@ VersGen.cs + barcode.aspx diff --git a/C-TRACK/Global.asax.cs b/C-TRACK/Global.asax.cs index 6b08b98..9ab299e 100644 --- a/C-TRACK/Global.asax.cs +++ b/C-TRACK/Global.asax.cs @@ -1,11 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using C_TRACK.App_Start; +using System; using System.Web; using System.Web.Optimization; using System.Web.Routing; -using System.Web.Security; -using System.Web.SessionState; namespace C_TRACK { @@ -16,6 +13,9 @@ namespace C_TRACK // Codice eseguito all'avvio dell'applicazione RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); + + // avvio il metodo init x applicazione... + MyStartup.Init(); } } } \ No newline at end of file diff --git a/C-TRACK/Web.config b/C-TRACK/Web.config index 89614ce..52d332c 100644 --- a/C-TRACK/Web.config +++ b/C-TRACK/Web.config @@ -41,8 +41,20 @@ --> - + + + + + + + + + + + + + @@ -59,13 +71,9 @@ - - - - + - diff --git a/C-TRACK/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs b/C-TRACK/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs index 7dee606..4f03d47 100644 --- a/C-TRACK/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs +++ b/C-TRACK/WebUserControls/mod_enrollByJumperAuthKey.ascx.cs @@ -22,12 +22,13 @@ namespace C_TRACK.WebUserControls bool fatto = false; string DeviceName = ""; string IPv4 = ""; + string CodOpr = ""; try { UserAuthKey = Request["UserAuthkey"]; email = Request["USER_NAME"]; // salvo OPR (se c'è in link di auth...) - string CodOpr = Request["CodOpr"]; + CodOpr = Request["CodOpr"]; memLayer.ML.setSessionVal("CodOpr", CodOpr); userAgent = Request.UserAgent; } @@ -50,7 +51,8 @@ namespace C_TRACK.WebUserControls } if (fatto) { - Response.Redirect("Default"); + Response.Redirect("Login"); + //Response.Redirect("Default"); } else { diff --git a/C-TRACK/WebUserControls/mod_menuTopCompact.ascx.cs b/C-TRACK/WebUserControls/mod_menuTopCompact.ascx.cs index 8987855..3419f15 100644 --- a/C-TRACK/WebUserControls/mod_menuTopCompact.ascx.cs +++ b/C-TRACK/WebUserControls/mod_menuTopCompact.ascx.cs @@ -36,7 +36,7 @@ namespace C_TRACK.WebUserControls // controllo pagina... bool pageAuth = devicesAuthProxy.stObj.isPageEnabled(lastPage); // controllo pag auth... - if (!pageAuth && memLayer.ML.confReadString("PageNoIndex").ToLower().IndexOf(lastPage.ToLower()) < 0) + if (!pageAuth && memLayer.ML.confReadString("_safePages").ToLower().IndexOf(lastPage.ToLower()) < 0) { Response.Redirect("~/login"); } diff --git a/C-TRACK/jumper.aspx.cs b/C-TRACK/jumper.aspx.cs index d0c856f..aadaf6d 100644 --- a/C-TRACK/jumper.aspx.cs +++ b/C-TRACK/jumper.aspx.cs @@ -10,8 +10,10 @@ namespace C_TRACK // aggiorno vocabolario DataWrap.DW.resetVocabolario(); +#if false // reset dati in cache x DbConfig... - memLayer.ML.resetAppConf(); + memLayer.ML.resetAppConf(); +#endif // svuoto session e cache per rileggere i dati da Db Session.RemoveAll(); } diff --git a/C-TRACK/login.aspx.cs b/C-TRACK/login.aspx.cs index 55d6f83..5782ec1 100644 --- a/C-TRACK/login.aspx.cs +++ b/C-TRACK/login.aspx.cs @@ -19,6 +19,16 @@ namespace XPS return pagina; } } + /// + /// Elenco pagine "safe" da web.config + /// + protected string safePages + { + get + { + return memLayer.ML.confReadString("_safePages").ToLower(); + } + } protected void Page_Load(object sender, EventArgs e) { @@ -27,15 +37,15 @@ namespace XPS { Page.Title = Request.Url.ToString(); // se ho cambiato pagina registro...) - if (devicesAuthProxy.pagPrecedente != titolo) + if (devicesAuthProxy.pagPrecedente.ToLower() != titolo.ToLower()) { devicesAuthProxy.pagPrecedente = devicesAuthProxy.pagCorrente; } // salvo pagina corrente devicesAuthProxy.pagCorrente = titolo; } - // SOLO se la pagina NON E' "safe"... - if (memLayer.ML.confReadString("PageNoIndex").ToLower().IndexOf(titolo.ToLower()) < 0) + // SOLO se la pagina NON E' "safe"... e NON E' login + if (safePages.IndexOf(titolo.ToLower()) < 0 || titolo.ToLower() == "login") { bool userOk = checkUser(); bool pageOk = checkPageIsAuth(); @@ -83,7 +93,7 @@ namespace XPS private bool checkPageIsAuth() { bool allOk = false; - bool pageSafe = (memLayer.ML.confReadString("PageNoIndex").ToUpper().IndexOf(titolo.ToUpper()) >= 0); + bool pageSafe = (memLayer.ML.confReadString("_safePages").ToUpper().IndexOf(titolo.ToUpper()) >= 0); bool pageAuth = devicesAuthProxy.stObj.isPageEnabled(titolo); allOk = (pageSafe || pageAuth); return allOk;