From ec94724c794d9b74b0e86a0aec4e39cffceb76db Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 13 Dec 2023 18:18:45 +0100 Subject: [PATCH] aggiunta gestione login con guid dispositivo --- MP-TAB-SERV/Components/CmpTop.razor.cs | 48 ++++++++++++++----------- MP-TAB-SERV/MP-TAB-SERV.csproj | 2 +- MP-TAB-SERV/Pages/RegNewDevice.razor.cs | 10 +++--- MP-TAB-SERV/Resources/ChangeLog.html | 2 +- MP-TAB-SERV/Resources/VersNum.txt | 2 +- MP-TAB-SERV/Resources/manifest.xml | 2 +- MP-TAB-SERV/Shared/MainLayout.razor.cs | 8 +++-- MP.Data/DTO/userTknDTO.cs | 3 +- MP.Data/Services/MessageService.cs | 41 ++++++++++++++++----- MP.Data/Services/TabDataService.cs | 10 +++--- 10 files changed, 81 insertions(+), 47 deletions(-) diff --git a/MP-TAB-SERV/Components/CmpTop.razor.cs b/MP-TAB-SERV/Components/CmpTop.razor.cs index 7182d1de..8453c92b 100644 --- a/MP-TAB-SERV/Components/CmpTop.razor.cs +++ b/MP-TAB-SERV/Components/CmpTop.razor.cs @@ -27,6 +27,7 @@ namespace MP_TAB_SERV.Components #region Protected Properties protected string CurrOprTknLS { get; set; } = null!; + //protected Guid CurrDevGuid { get; set; } protected string LastOpenedPage { get; set; } = null!; protected string CurrMacc { get; set; } = null!; @@ -84,7 +85,7 @@ namespace MP_TAB_SERV.Components Log.Info("Start ForceReload"); ResetClass = "btn-warning"; await InvokeAsync(StateHasChanged); - var currToken = await MsgServ.GetCurrOperDtoAsync(); + var currToken = await MsgServ.GetCurrOperDtoLSAsync(); var lastOpr = await MsgServ.GetLastMatrOprAsync(); // reset cache varie await MsgServ.ClearLocalStor(); @@ -92,7 +93,7 @@ namespace MP_TAB_SERV.Components await MDataService.FlushCache(); // salvo di nuovo opr await MsgServ.SetLastMatrOprAsync(lastOpr); - await MsgServ.SetCurrOperDtoAsync(currToken); + await MsgServ.SetCurrOperDtoLSAsync(currToken); // reload MStor await ReloadMemStor(); // calcolo tempo esecuzione @@ -123,23 +124,35 @@ namespace MP_TAB_SERV.Components await Task.Delay(1); int expDays = SMServ.GetConfInt("cookieDayExpire"); expDT = DateTime.Now.AddDays(expDays); + var CurrDevGuid = await MsgServ.GetCurrDevGuidLSAsync(); + + //if (string.IsNullOrEmpty(CurrDevGuid.ToString())) + if (CurrDevGuid == Guid.Empty) + { + CurrDevGuid = Guid.NewGuid(); + await MsgServ.SetCurrDevGuidLSAsync(CurrDevGuid); + } - CurrOprTknLS = await MsgServ.GetCurrOperDtoAsync(); + CurrOprTknLS = await MsgServ.GetCurrOperDtoLSAsync(); LastOpenedPage = await MsgServ.LastOpenedPageGet(); CurrMacc = await MsgServ.IdxMaccGet(); var decodedUrl = Uri.UnescapeDataString(CurrOprTknLS); - // verifico se non avessi dati operatore - //var diffOfTime = DateTime.Now - MsgServ.dtLastAction; - - //if (diffOfTime.Minutes >= 1) - //{ - // NavMan.NavigateTo("logout"); - //} - //else + if (!string.IsNullOrEmpty(CurrOprTknLS)) + { + var decryptedData = MsgServ.DecryptData(CurrOprTknLS); + if (!string.IsNullOrEmpty(decryptedData)) + { + var oprObj = JsonConvert.DeserializeObject(decryptedData); + if(oprObj != null) + { + MsgServ.RigaOper = oprObj.currOpr; + } + } + } - CurrOprTknRedis = await TDService.OperatoreGetRedis(MatrOpr); + CurrOprTknRedis = await TDService.OperatoreGetRedis(MatrOpr, CurrDevGuid); if (string.IsNullOrEmpty(CurrOprTknRedis)) @@ -149,19 +162,12 @@ namespace MP_TAB_SERV.Components NavMan.NavigateTo("reg-new-device", true); } } - else if (!string.IsNullOrEmpty(CurrOprTknRedis)) + else if (!string.IsNullOrEmpty(CurrOprTknRedis) && CurrOprTknRedis == CurrOprTknLS) { if (MsgServ.RigaOper == null) { await RefreshLogIn(decodedUrl); - } - //if (!NavMan.Uri.Contains("status-map")) - //{ - //} - //if (LastOpenedPage != "") - //{ - // NavMan.NavigateTo(LastOpenedPage, true); - //} + } } } diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj index 47063082..ee372790 100644 --- a/MP-TAB-SERV/MP-TAB-SERV.csproj +++ b/MP-TAB-SERV/MP-TAB-SERV.csproj @@ -3,7 +3,7 @@ net6.0 enable - 6.16.2312.1315 + 6.16.2312.1317 enable MP_TAB_SERV diff --git a/MP-TAB-SERV/Pages/RegNewDevice.razor.cs b/MP-TAB-SERV/Pages/RegNewDevice.razor.cs index 993a095c..a42d0b2d 100644 --- a/MP-TAB-SERV/Pages/RegNewDevice.razor.cs +++ b/MP-TAB-SERV/Pages/RegNewDevice.razor.cs @@ -45,8 +45,6 @@ namespace MP_TAB_SERV.Pages protected string CurrOprTknRedis { get; set; } = null!; - protected DateTime expDT { get; set; } = DateTime.Now; - protected int matrOpr { get @@ -90,6 +88,7 @@ namespace MP_TAB_SERV.Pages protected async Task FirstLogIn() { rigaOpr = await TDService.OperatoreSearch(matrOpr, authKey); + var devGuid = await MsgServ.GetCurrDevGuidLSAsync(); if (rigaOpr == null) { var deHash = TDService.DecryptData(authKey); @@ -100,15 +99,15 @@ namespace MP_TAB_SERV.Pages userTknDTO newUserTkn = new userTknDTO() { currOpr = rigaOpr, - expTime = expDT + DevGuid = devGuid }; var jsonTkn = JsonConvert.SerializeObject(newUserTkn); string hash = TDService.EncryptData(jsonTkn); MsgServ.RigaOper = rigaOpr; - await MsgServ.SetCurrOperDtoAsync(hash); + await MsgServ.SetCurrOperDtoLSAsync(hash); await MsgServ.SetLastMatrOprAsync(rigaOpr.MatrOpr); - await TDService.OperatoreSetRedis(matrOpr, hash); + await TDService.OperatoreSetRedis(matrOpr, hash, devGuid); NavMan.NavigateTo("status-map"); } else @@ -124,7 +123,6 @@ namespace MP_TAB_SERV.Pages matrOpr = await MsgServ.GetLastMatrOprAsync(); TDService.ConfigGetVal("cookieDayExpire", ref expDays); ShowScanBarcode = !SMServ.GetConfBool("TAB_WebCamHide"); - expDT = DateTime.Now.AddDays(expDays); oprsList = await TDService.ElencoOperatori(); } diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html index 5e1ba71a..0b375e34 100644 --- a/MP-TAB-SERV/Resources/ChangeLog.html +++ b/MP-TAB-SERV/Resources/ChangeLog.html @@ -1,6 +1,6 @@ Modulo MAPOSPEC -

Versione: 6.16.2312.1315

+

Versione: 6.16.2312.1317


Note di rilascio: