From 6a446993ccf14b965a9d676d3a790cbeeb7fb4fa Mon Sep 17 00:00:00 2001 From: Marco Locatelli Date: Thu, 8 Apr 2021 11:45:19 +0200 Subject: [PATCH] autenticazione utente, gestione password --- logger/log/PyLog.txt | 1 + sampler/FTSampler.py | 2 + server/FTServer.py | 27 ++- server/templates/settings.html | 354 ++++++++++++++++++--------------- 4 files changed, 222 insertions(+), 162 deletions(-) diff --git a/logger/log/PyLog.txt b/logger/log/PyLog.txt index 94b20d1..28aa885 100644 --- a/logger/log/PyLog.txt +++ b/logger/log/PyLog.txt @@ -84,3 +84,4 @@ 2021-04-01 15:20:08.570454 Caught error: name 'now' is not defined 2021-04-01 15:21:11.244154 Caught error: name 'now' is not defined 2021-04-02 09:27:42.781175 Caught error: Connection closed by server. +2021-04-08 11:19:48.305652 Caught error: Error 111 connecting to 127.0.0.1:6379. Connection refused. diff --git a/sampler/FTSampler.py b/sampler/FTSampler.py index 45951d1..29ba41a 100644 --- a/sampler/FTSampler.py +++ b/sampler/FTSampler.py @@ -29,6 +29,8 @@ redSrv0.set(redSampleFreq,startingSampleFreq) #se non c'è un valore nei campi di redis, popolo il db redSrv0.set('SETTINGS:LOG:STATUS',0) redisTime = 'RTDATA:TIME:SRV' +if redSrv0.get('SETTINGS:PASSWORD:CURRENT') is None: + redSrv0.set('SETTINGS:PASSWORD:CURRENT',"-") if redSrv0.get('SETTINGS:FOLDER:CURRENT') is None: redSrv0.set('SETTINGS:FOLDER:CURRENT', "default") if redSrv0.get('SETTINGS:SELECTED_CH') is None: diff --git a/server/FTServer.py b/server/FTServer.py index cee28db..60adf6c 100644 --- a/server/FTServer.py +++ b/server/FTServer.py @@ -112,6 +112,21 @@ def api_channels_all(): @flaskApp.route("/api/v1/channels/current", methods=['GET']) def api_channels_current(): numCh = getRedisVal('SETTINGS:SELECTED_CH') + savedPwd = getRedisVal('SETTINGS:PASSWORD:CURRENT') + if savedPwd is None: + redSrv0.set('SETTINGS:PASSWORD:CURRENT',"") + # tutto false + showDiv1 = 0 + showDiv2 = 0 + showDiv3 = 0 + if savedPwd == "": + showDiv1 = 1 + elif savedPwd == "viaZavaritt": + showDiv3 = 1 + elif savedPwd == "viaZavaritt152": + showDiv2 = 1 + showDiv3 = 1 + #funzione api_channels_all: legge direttamente da redis, ritorna jsonify result = { 'numCh' : numCh, @@ -125,7 +140,10 @@ def api_channels_current(): 'MinOut' : getRedisVal('SETTINGS:OUT:MIN:'+str(numCh)), 'MaxIn' : getRedisVal('SETTINGS:IN:MAX:'+str(numCh)), 'MinIn' : getRedisVal('SETTINGS:IN:MIN:'+str(numCh)), - 'CurrentWorkFolder' : getRedisVal('SETTINGS:FOLDER:CURRENT') + 'CurrentWorkFolder' : getRedisVal('SETTINGS:FOLDER:CURRENT'), + 'ShowDiv01' : showDiv1, + 'ShowDiv02' : showDiv2, + 'ShowDiv03' : showDiv3, } # restituisce in formato json i dati letti da redis return jsonify(result) @@ -206,6 +224,13 @@ def data_delete(): redSrv0.set('SETTINGS:FOLDER:CURRENT', "not set") return redirect("/settings") +@flaskApp.route("/api/v1/setup/passwordInput", methods=['POST']) +def insertPassword(): + #funzione inserimento password + currentPassword = request.form['PasswordForm'] + redSrv0.set('SETTINGS:PASSWORD:CURRENT', currentPassword, ex=5*60) + return redirect("/settings") + @flaskApp.route("/api/v1/setup/saveInMin", methods=['PUT']) def setupInMin(): # devo leggere il channel attualmente selezionato diff --git a/server/templates/settings.html b/server/templates/settings.html index 4031aa8..3a6ce6c 100644 --- a/server/templates/settings.html +++ b/server/templates/settings.html @@ -24,6 +24,22 @@ $("#MinIn").html(result.MinIn); $("#MaxIn").html(result.MaxIn); $("#CurrentFolder").html(result.CurrentWorkFolder); + // inizio nascondendo + $("#Div1").show(); + $("#Div2").hide(); + $("#Div3").hide(); + // if(result.ShowDiv01 == "0") + // { + // $("#Div1").hide(); + // } + if(result.ShowDiv02 == "1") + { + $("#Div2").show(); + } + if(result.ShowDiv03 == "1") + { + $("#Div3").show(); + } }}); } @@ -121,8 +137,24 @@
-
-
+
+
+
+ Autenticazione utente +
+
+
+
+ Password:   + + +
+
+
+
+
+
+
Canale A @@ -130,26 +162,26 @@
-
+
- Nativo: -
- Scalato: - + Nativo: +
+ Scalato: +
-
+
Canale B @@ -157,167 +189,167 @@
-
+
- Nativo: -
+ Nativo: +
Scalato: -
+
-
-
-
-
- - Impostazioni scala canale -
-
- -
-
-
- -
-
-
-
-
-
-
-
-
-
-
MIN
-
Attuale
-
MAX
+
+
+
+
+
+ + Impostazioni scala canale
-
-
-
-
-
IN
-
-
-
000
-
000
-
000
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
OUT
-
-
-
- -
-
{{ Out0 }}
-
- -
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
MIN
+
Attuale
+
MAX
+
+
+
+
+
+
IN
+
+
+
000
+
000
+
000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
OUT
+
+
+
+ +
+
{{ Out0 }}
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+ Selezione cartella +
+ Cartella attuale:   +
+
+
+
+
+ Insert new:   + + +
+
+
+
+
+
+ + Impostazioni Timer +
+
+
+
+ Periodo di campionamento (ms):   + +
+
+ Periodo di scrittura (ms):   + +
+ +
+
+
+
+
+
+ + Reset impostazioni predefinite +
+
+
- +
+ +
-
-
+
- -
-
-
-
-
- Selezione cartella -
- Cartella attuale:   -
-
-
-
-
- Insert new:   - - -
-
-
-
-
-
- - Impostazioni Timer -
-
-
-
- Periodo di campionamento (ms):   - -
-
- Periodo di scrittura (ms):   - -
- -
-
-
-
-
-
- - Reset impostazioni predefinite -
-
-
-
-
- -
-
-