From cb6cc17020fd95b44b9f001805bf8c1954356446 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 9 Nov 2021 12:38:57 +0100 Subject: [PATCH] Completata gestione payload iniziale --- .../mod_adminDipendenti.ascx.cs | 3 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 58749 -> 79627 bytes GPW_Data/ObjLicenze.cs | 12 ++ GPW_Data/licenzeGPW.cs | 158 +++++++++++++++--- 4 files changed, 149 insertions(+), 24 deletions(-) diff --git a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs index 0f0bad0..0410636 100644 --- a/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs +++ b/GPW_Admin/WebUserControls/mod_adminDipendenti.ascx.cs @@ -64,8 +64,9 @@ namespace GPW_Admin.WebUserControls { // eseguo call di recupero da online bool refreshApp = licenzeGPW.RefreshAppInfo().Result; - bool refreshLic = licenzeGPW.RefreshLicInfo().Result; bool refreshAct = licenzeGPW.RefreshActInfo().Result; + bool refreshPayload = licenzeGPW.RefreshPayload().Result; + //bool refreshLic = licenzeGPW.RefreshLicInfo().Result; } private void fixVisibility() diff --git a/GPW_Barcode/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/GPW_Barcode/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 1867bc1443412f6c7c7e8e6a41a5e25630e09de2..a1f2a11a46e220c62d8d9ffc41912d1b40e0fda3 100644 GIT binary patch literal 79627 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%0AB1s@9vT||4oZ(vEpS~s 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�x807+RmO2*iQ>G7$# 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 a=K$9DsKL?CzOQ+F_>wjP{s)JzgZ>}RTkUNC diff --git a/GPW_Data/ObjLicenze.cs b/GPW_Data/ObjLicenze.cs index 47ba6d0..9e65411 100644 --- a/GPW_Data/ObjLicenze.cs +++ b/GPW_Data/ObjLicenze.cs @@ -83,6 +83,18 @@ namespace GPW_data #endregion Public Properties } + public class LicenseCoord + { + #region Public Properties + + public string CodApp { get; set; } = ""; + public string CodInst { get; set; } = ""; + public string Enigma { get; set; } = ""; + public string MasterKey { get; set; } = ""; + + #endregion Public Properties + } + public class UserLicenseRequest { #region Public Properties diff --git a/GPW_Data/licenzeGPW.cs b/GPW_Data/licenzeGPW.cs index 9b838a6..c0c9d8d 100644 --- a/GPW_Data/licenzeGPW.cs +++ b/GPW_Data/licenzeGPW.cs @@ -8,6 +8,8 @@ using System.Collections.Generic; using System.Linq; using System.Web; using static GPW_data.LiManObj; +using System.Text; +using System.Security.Cryptography; namespace GPW_data { @@ -19,7 +21,7 @@ namespace GPW_data /// Url di base chiamate API gestione licenze /// //protected static string apiUrl = "https://localhost:44351/"; - protected static string apiUrl = "https://iis01.egalware.com/ELM.API/"; + protected static string apiUrl = "https://liman.egalware.com/ELM.API/"; /// /// Durata cache statica locale dati licenza @@ -30,6 +32,7 @@ namespace GPW_data protected static string rkeyActInfo = memLayer.ML.redHash($"LiMan:ActInfo"); protected static string rkeyAppInfo = memLayer.ML.redHash($"LiMan:AppInfo"); protected static string rkeyLicInfo = memLayer.ML.redHash($"LiMan:LicInfo"); + protected static string rkeyPayload = memLayer.ML.redHash($"LiMan:Payload"); #endregion Protected Fields @@ -87,6 +90,8 @@ namespace GPW_data bool answ = false; try { + // effettua refresh attivazioni... + var fatto = RefreshActInfo().Result; answ = utentiAttivi <= licenzeAttive; if (!answ && memLayer.ML.confReadInt("_logLevel") > 5) { @@ -106,21 +111,24 @@ namespace GPW_data { get { - bool answ = true; - - // FIXME TODO !!! - - //bool answ = false; - //try - //{ - // answ = utentiAttivi <= licenzeAttive; - // if (!answ && memLayer.ML.confReadInt("_logLevel") > 5) - // { - // logger.lg.scriviLog(string.Format("WARNING licenze: utenti attivi {0} / licenziati {1}", utentiAttivi, licenzeAttive), tipoLog.WARNING); - // } - //} - //catch - //{ } + bool answ = false; + string currPayload = ""; + try + { + // cerco payload licenze locale... + currPayload = memLayer.ML.getRSV(rkeyPayload); + // se no ci fosse --> refresh online! + if (string.IsNullOrEmpty(currPayload)) + { + currPayload = calcPayload(); + memLayer.ML.setRSV(rkeyPayload, currPayload, 3600); + } + // confronto + answ = InfoApplicativo.Payload == currPayload; + } + catch + { } + // confronto payload calc con quello della licenza return answ; } } @@ -134,24 +142,37 @@ namespace GPW_data { LiManObj.ApplicativoDTO answ = new LiManObj.ApplicativoDTO(); // cerco da cache - string rawData = memLayer.ML.getRSV(rkeyAppInfo); + string rawData = memLayer.ML.getRSV(rkeyLicInfo); // se no ci fosse --> refresh online! if (string.IsNullOrEmpty(rawData)) { var fatto = RefreshAppInfo().Result; if (fatto) { - rawData = memLayer.ML.getRSV(rkeyAppInfo); + rawData = memLayer.ML.getRSV(rkeyLicInfo); } } if (!string.IsNullOrEmpty(rawData)) { - // POTREBBE darmi + di 1 risultato, prendo + recente... - List infoList = JsonConvert.DeserializeObject>(rawData); - if (infoList != null) + try { - answ = infoList.OrderByDescending(x => x.Scadenza).FirstOrDefault(); + // verifico se ho 1 risultato o molti...se inizia per "[" รจ molti + if (rawData.StartsWith("[")) + { + // POTREBBE darmi + di 1 risultato, prendo + recente... + List infoList = JsonConvert.DeserializeObject>(rawData); + if (infoList != null) + { + answ = infoList.OrderByDescending(x => x.Scadenza).FirstOrDefault(); + } + } + else + { + answ = JsonConvert.DeserializeObject(rawData); + } } + catch + { } } return answ; } @@ -186,7 +207,7 @@ namespace GPW_data { int answ = 0; int licenzeMax = licenseMan.getLicenseNum(installazione, applicazione); - // verifico dato su DB sia valido... expiry date con quel numero sia > della data odierna!!! + // verifico dato su DB sia valido... expiry date con quel numero sia > della data odierna if (scadenzaLicenza >= DateTime.Today) { answ = licenzeDb; @@ -322,8 +343,62 @@ namespace GPW_data #endregion Public Properties + #region Protected Methods + + protected static string calcPayload() + { + string answ = ""; + // costruisco stringa da elenco impieghi... + StringBuilder sb = new StringBuilder(); + + // ciclo tutti gli utenti attivi + var localUserList = DataProxy.DP.taDipendenti.getAttivi(false); + List codiciImpiego = new List(); + // ciclo x ogni dip attivo... + foreach (var item in localUserList) + { + codiciImpiego.Add(DataProxy.DP.hashCodImpiego(item)); + } + // riordino + var ordList = codiciImpiego.OrderBy(x => x); + foreach (var item in ordList) + { + sb.AppendLine(item); + } + string rawData = sb.ToString(); + + // hashing! + using (var md5 = MD5.Create()) + { + byte[] InputBytes = Encoding.UTF8.GetBytes(rawData); + var byteHash = md5.ComputeHash(InputBytes); + answ = BitConverter.ToString(byteHash).Replace("-", "").ToLowerInvariant(); + } + return answ; + } + + #endregion Protected Methods + #region Public Methods + /// + /// Calcolo Hash data stringa input + /// + /// + /// + public static string calcHash(string rawData) + { + string hash = ""; + // hashing! + using (var md5 = MD5.Create()) + { + byte[] InputBytes = Encoding.UTF8.GetBytes(rawData); + var byteHash = md5.ComputeHash(InputBytes); + hash = BitConverter.ToString(byteHash).Replace("-", "").ToLowerInvariant(); + } + return hash; + } + /// /// Verifica attivazione licenza dato codice impiego /// @@ -467,6 +542,43 @@ namespace GPW_data return await Task.FromResult(answ); } + /// + /// Effettua refresh Payload su server (Remoto) e recupera info licenza in locale (sovrascrivendo info locali Redis) + /// + /// + public static async Task RefreshPayload() + { + bool answ = false; + // svuoto payload calcolato in primis... + memLayer.ML.setRSV(rkeyPayload, "", 1); + + // cerco online + RestClient client = new RestClient(apiUrl); + //client.Authenticator = new HttpBasicAuthenticator("username", "password"); + string MKeyEnc = HttpUtility.UrlEncode(MasterKey); + var request = new RestRequest($"/api/licenza/refreshPayload", DataFormat.Json); + string newEnigma = calcHash($"{DateTime.Now:yyyyMMddHHmmss}"); + LicenseCoord newBody = new LicenseCoord() + { + MasterKey = MasterKey, + CodInst = installazione, + CodApp = applicazione, + Enigma = newEnigma + }; + request.AddJsonBody(newBody); + var response = client.Post(request); + // controllo risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + answ = true; + // salvo in redis contenuto serializzato + string rawData = response.Content; + // salvo in redis per 7 gg + memLayer.ML.setRSV(rkeyLicInfo, rawData, LicCacheTTL); + } + return await Task.FromResult(answ); + } + /// /// Tenta attivazione licenza dato codice impiego ///