Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 14-Jun-2022 15:40 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 247 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
\\
!! Obiettivo\\
Accesso al sistema tramite un processo di registrazione, attivazione e autenticazione dell'utente, i cui dati vengono memorizzati e gestiti in un file.\\
\\
!! Processo\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_015.png' caption='' width='100%' style='max-width: 100%;'}][https://labdocs.smeup.com/H3LS04-NW22000125/Processo_WE_110.png]\\
\\
\\
N.B. : Questo processo utilizza come metodo di attivazione " ", quindi viene creato un utente inattivo che ha bisogno di essere attivato da BackOffice.\\
* L'utente compila un form con i dati necessari per la registrazione.\\
* Dopo di che, riceve una mail contente un link che permette di confermare la propria mail.\\
* Una volta che il backoffice abilita la mail dell'utente, quest'ultimo riceve una mail di abilitazione avvenuta.\\
* A questo punto l'utente può autenticarsi al sistema.\\
\\
!! Variabili della UPP\\
* Mail: Indirizzo utilizzato nel mittente delle mail che invieranno la conferma di registrazione con il link per verificare la mail, l'attivazione effettiva dell'account, il reset della password e avviseranno il backoffice delle mail da attivare.\\
* Ambiente: Nome dell'ambiente al quale si abilita l'utente registrato.\\
* Webmod: Nome del modulo di login per la registrazione, attivazione e reset della password.\\
* WebmodAU: Nome del modulo di login per l'autenticazione.\\
* Secret: E' il codice secret usato nel modulo di login indicato nella variabile "Webmod". Serve per poter costruire correttamente un link a tale modulo.\\
* CRNB£U (Numeratore nuovi accessi) : Prefisso del codice utente applicativo, nel caso in cui l'utente che si sta registrando non abbia già un utente a lui collegato. Di conseguenza, se supponiamo di avere come prefisso WE, il codice utente sarà WExxxx, dove xxxx sarà un numero incrementale.\\
* Mailamm : Indirizzo mail amministrativo al quale vengono inviati messaggi in caso di errore in fase di registrazione, oppure per segnalare un nuovo utente da attivare.\\
* TempMai: Codice del template HTML per la mail di conferma della registrazione.\\
* TempMaiBCK: Codice del template HTML per avvisare il backoffice di un nuovo utente da attivare.\\
* TempMaiRST: Codice del template HTML per la mail di recupero password.\\
* UPAct: Identifica il metodo con il quale si vuole procedere all'attivazione degli utenti. I 3 metodi di attivazione sono i seguenti:\\
** " " : Creato utente inattivo, con attivazione manuale da Backoffice.\\
** "1" : Attivazione automatica.\\
** "2" : Non è possibile effettuare la registrazione da parte dell'utente, registrazione effettuata dal backoffice.\\
* UPExi: Suffisso della exit che permette di determinare il codice dell'utente applicativo.\\
* BCKExi: Suffisso della exit per recuperare la mail a cui inviare l'avviso per l'attivazione di un nuovo utente.\\
* VIEExi: Suffisso della exit che filtra i dati da visualizzare.\\
* OUTExi: Suffisso della exit che determina il codice utente applicativo autenticato sul modulo di login esterno.\\
* B£UExi: Suffisso della exit che permette di eseguire operazioni post B£U.\\
* PwdLen: Lunghezza minima di default della password.\\
* Exp: Durata massima della password.\\
* Rem: Giorni di preavviso scadenza password.\\
* NAut: Numero tentativi massimi di autenticazione.\\
\\
!! Sorgenti Coinvolti\\
* Programmi\\
** WE_110_A2 : Programma contenente tutte le funzioni base per la registrazione, attivazione, autenticazione, reset della password e gestione del backoffice.\\
** WE_110_A2A: Exit del programma WE_110_A2 che permette di determinare il codice utente applicativo.\\
** WE_110_A2B: Exit del programma WE_110_A2 che permette di reperire la mail del responsabile a cui inviare il messaggio per l'attivazione di un nuovo utente.\\
** WE_110_A2C: Exit del programma WE_110_A2 che permette di eseguire delle operazioni aggiuntive post B£U.\\
** WE_110_A3 : Programma che si occupa di effettuare il controllo della scadenza della password.\\
* Servizi\\
** WE_110_02 : Servizio che gestisce le richieste dalla scheda di Registrazione e di Backoffice; inoltre si occupa di controllare le autorizzazioni degli utenti. Questo servizio si appoggia al programma WE_110_A2.\\
** WE_110_02A : Exit del servizio WE_110_02 che permette di determinare quali dati vengono visualizzati.\\
** WE_110_03 : Servizio che gestisce l'autenticazione degli utenti.\\
** WE_110_03A : Exit del servizio WE_110_03 che permette di determinare il codice utente applicativo per autenticazione esterna (es. Google, Azure..)\\
* Script di scheda\\
** WE_110_02: Gestisce la registrazione, l'attivazione e il reset della password dell'utente.\\
** WE_110_BCO: Gestisce tutte le operazioni del backoffice, come registrazione, attivazione/disattivazione utente, modifica dati utente, reset password e gestione Associazione user id con identity provider.\\
\\
!! Registrazione\\
Innanzitutto è necessario creare sulla propria installazione di webup un modulo di login di tipo DIRECT con le seguenti caratteristiche:\\
* Environment = indicare lo stesso valore inserito nella variabile della UPP "Ambiente".\\
* clearsfunction = flaggato.\\
* Hashing algorythm = "SHA1".\\
* Time skew in seconds between two requests = '-1'.\\
* Hashing shared secret = valorizzato con lo stesso valore riportato nella variabile della UPP "Secret".\\
La funzione da impostare all'accesso al modulo di login dovrà essere: F(EXD;*SCO;) 2(MB;SCP_SCH;WE_110_02) 4(;;NEW); bisogna impostare questa fun nella sfunction del utente di default, impostato nel modulo di login.\\
\\
Gli utenti che si vogliono registrare al proprio sistema saranno da rimandare a tale modulo di login.\\
Esempio di link di reindirizzamento al modulo di login per la registrazione: {URL_E_CONTEXT_DI_WEBUP}/?mod=[Webmod]).\\
\\
Nel momento in cui si entra, verrà visualizzato un input panel da riempire, una volta completato con tutte le informazioni richieste, si dovrà cliccare sul pulsante 'Registrati'.\\
Se tutto va a buon fine, la pagina di registrazione si chiuderà in pochi secondi, altrimenti verrà emesso un messaggio di errore.\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_006.png' caption='' width='100%' style='max-width: 100%;'}]\\
Lato backend partirà la seguente procedura:\\
\\
Il programa WE_110_A2 richiamato dal servizio WE_110_02, controlla se la mail è presente sul file. Se fosse già presente viene restituito un messaggio di errore, altrimenti il programma chiama la Exit che gli reperisce il codice utente applicativo.\\
In sostanza, quello che viene fatto nella exit è controllare se la mail appena inserita sia già stata associata ad un referente. Se tale referente esiste, viene recuperato il codice referente, altrimenti crea un nuovo codice referente e lo mantiene in memoria.\\
Dopo ciò, controlla se il referente sia già stato associato ad un codice utente, nel caso lo fosse, lo restituisce; altrimenti ne genera uno nuovo caratterizzato dal prefisso settato nella variabile di UPP "CRNB£U" e un numero incrementale (es: WExxxx).\\
\\
Una volta che si ha il codice del referente e il codice utente applicativo, si procedere a registrare i dati all'interno dei due file:\\
* WE11000F: In questo file vengono memorizzati i dati dell'utente come mail, password hashata, codice referente, descrizione e durata della password (valore che viene recuperato dalla variabile di UPP "Exp"). Inoltre in questa fase di registrazione, l'utente verrà registrato con lo stato "*INACTIVE".\\
* WE11010F: In questo file viene indicata l'associazione dello user ID con l'identity provider, quindi i dati che vengono salvati sono lo User Id, l'identity provider e il codice dell'utente applicativo.\\
\\
Una volta completata la scrittura su file, viene controllato se il codice dell'utente applicativo è già presente nella B£U, nel caso non lo fosse viene scritto.\\
Dopo di che, nel caso in cui la variabile di UPP "B£UExi" fosse valorizzata, viene chiamata la exit WE_110_A2C la quale esegue delle operazioni aggiuntive post B£U.\\
\\
Viene poi verificato se è già presente l'ambiente indicato nella variabile della UPP "Ambiente" per l'utente appena registrato; nel caso non lo fosse, viene creato.\\
\\
Infine il sistema manda una mail automatica da un indirizzo definito nelle variabili dell'UPP "Mail", verso l'indirizzo di registrazione dell'utente con un link per la conferma della registrazione.\\
\\
\\
!! Attivazione\\
L'attivazione avviene in 2 step:\\
1. La conferma dell'utente avviene tramite un link presente nella mail di conferma registrazione, inviata all'utente stesso dopo essersi registrato.\\
\\
Un esempio di link di attivazione:\\
{URL_E_CONTEXT_DI_WEBUP}/views/webupExtLogin.jsf?\\
mod=[Webmod]&\\
fun=F(EXD;*SCO;)%202(MB;SCP_SCH;WEAUTH_02)%204(;;CONF)%20INPUT(MAIL({MAIL_DA_CONFERMARE}))&\\
t=20211125105042&\\
hash=e9f59bfea634d0c48c90ed50dff4376c3a3d5d10\\
\\
Egli cliccando sul link nella mail verrà reindirizzato ad una pagina di webup nel quale verrà informato con il seguente messaggio:\\
"Registrazione confermata, in attesa di validazione da parte di [nome azienda]"\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_007.png' caption='' width='100%' style='max-width: 100%;'}]\\
Il link di attivazione porta allo stesso modulo di login della registrazione. L'unica differenza è la fun eseguita in fase iniziale, che in questo caso punta ad una sottoscheda dello script WE_110_02, diversa rispetto a quella utilizzata per la registrazione. La sottoscheda è la CONF e la fun è la seguente:\\
F(EXD;*SCO;) 2(MB;SCP_SCH;WE_110_02) 4(;;CONF) INPUT(MAIL({MAIL_DA_CONFERMARE}))\\
Questa fun permette di confermare l'utente, aggiornando lo stato del record da "*INACTIVE" a "*CONFIRMED".\\
Al termine dell'aggiornamento, viene inviata una nuova mail all'utente nella quale gli viene comunicato che la registrazione è stata confermata ed è in attesa di validazione dal BackOffice.\\
In questo caso l'utente non potrà ancora autenticarsi.\\
\\
2. Nello stesso momento, viene mandata una mail al backoffice avvisandolo che si è registrato un nuovo utente, il quale è in attesa di attivazione dell'account.\\
A questo punto, il responsabile del backoffice attraverso la scheda WE_110_BCO, potrà abilitare l'utente; in corrispondenza del record dell'utente, schiacciando sulla freccettina ad inizio riga, sarà possibile scegliere l'opzione "Abilita [mail utente]", di conseguenza lo stato del record verrà aggiornato da "*CONFIRMED" ad "*ENABLED". Nel frattempo, viene inviata una mail all'utente avvisandolo che il suo account è stato abilitato e viene anche allegato un link che punta al modulo di login di autenticazione.\\
\\
!! Autenticazione\\
\\
! Autenticazione Smeup\\
Una volta abilitato, l'utente con identity provider "Smeup" potrà entrare nel sistema autenticandosi con mail e password.\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_008.png' caption='' width='100%' style='max-width: 100%;'}]\\
Il modulo di autenticazione sarà un modulo di login diverso rispetto a quello usato per registrazione ed attivazione, infatti sarà di tipo FUN ed è caratterizzatto dai seguenti parametri:\\
* Environment = indicare lo stesso valore inserito nella variabile della UPP "Ambiente".\\
* Login Fun = permette di inserire la fun per verificare che i dati inseriti nel modulo di login siano corretti. In questo caso, la fun è la seguente: F(EXB;WE_110_03;USR.LGI) INPUT(USR({0}) PWD({1}))\\
* appUser = dovrà essere valorizzato a $$UTEN, in quanto dalla fun di controllo verrà restituito anche il codice utente applicativo che identificherà l'utente che si è collegato.\\
\\
Nella fase di autenticazione si utilizza il servizio WE_110_03, che legge mail e password inseriti, i quali verranno inviati al programma WE_110_A2.\\
Prima di chiamare il programma, viene eseguito un primo controllo nel servizio WE_110_03 rispetto allo stato della mail che sta provando ad autenticarsi.\\
In particolare per gli stati diversi da "*ENABLED", vegono gestiti dei messaggi particolari di errore:\\
* Stato "*INACTIVE" verrà visualizzato un messaggio di errore che comunica all'utente che è inattivo.\\
* Stato "*DISABLED" verrà visualizzato un messaggio di errore che comunica all'utente che è disabilitato e di conseguenza deve contattare il Back Office.\\
* Stato "*EXPIRED" verrà visualizzato un messaggio di errore che comunica all'utente che la password è scaduta e deve procedere con il reset della password.\\
* Stato "*CONFIRMED" verrà visualizzato un messaggio di errore che avvisa l'utente che il suo account è in attesa di validazione.\\
Nel caso in cui lo stato fosse "*ENABLED", verrà chiamato il programma WE_110_A2, il quale attraverso la mail, verifica che l'dentity provider associato ad essa sia "Smeup", dopo di che recupera la password hashata dell'utente e lo stato.\\
Successivamente viene hashata la password fornita in input.\\
Infine viene effettuato un confronto tra i dati recuperati dal file e quelli forniti in input, nel caso in cui l'esito fosse positivo, allora viene caricato l'ambiente ed il login termina.\\
Mentre, se l'esito fosse negativo, allora viene restituito un messaggio di errore (successivamente nel punto "Controllo Password Sbagliata" viene indicato il messaggio ritornato).\\
\\
! Autenticazione Esterna\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_014.png' caption='' width='100%' style='max-width: 100%;'}]\\
Nel caso in cui l'identity provider fosse esterno (es. Google), il modulo di login sarà di tipo "GOOGLE" e dovrà avere le seguenti caratteristiche:\\
* Environment = indicare lo stesso valore inserito nella variabile della UPP "Ambiente".\\
* Login Fun = permette di inserire la fun per verificare che i dati inseriti nel modulo di login siano corretti. In questo caso, la fun è la seguente: F(EXB;WE_110_03;USR.OUT) INPUT(OUT({0})) P(IDP(GOO))\\
* Oauth proxy = idicare l'url del provider che permette di autenticarsi, in questo caso l'url è il seguente: https://google-auth.smeup.cloud/google-apis-1.0/oauth2.\\
Di conseguenza, il modulo di login quando si schiaccerà su "Accedi" reindirizzerà l'utente sul provider definito in "Oauth proxy". Una volta che l'autenticazione su provider fosse andata a buon fine, verrà restituità lo user ID.\\
A questo punto viene chiamato il servizio WE_110_03 che a sua volta delegherà il compito di reperire il codice utente applicativo alla exit WE_110_03A.\\
In sostanza quello che viene fatto dalla exit è verificare se all'interno del file WE11010F è presente l'associazione dello user id ad un codice utente applicativo. Nel caso non riusciresse a recuperarlo, viene effettuato un altro controllo tale per cui si tenta di recuperare il codice utente applicativo dallo user id tramite la £G85, la copy che permette di recuperare a cosa è associato lo user id. Se anche in questo caso non si riuscisse a recuprere il codice utente, viene restituito un messaggio di errore.\\
Nel caso in cui il codice utente applicativo venisse recuperato, allora viene caricato l'ambiente ed il login termina.\\
\\
\\
!! Reset Password\\
\\
Nel caso in cui l'utente si dimenticasse la password, è possibile resetterla tramite il link "Richiedi password smarrita", presente sul modulo di login di autenticazione.\\
Per poter abilitare il link del reset password, nelle impostazioni del modulo di login di autenticazione (tipo FUN), bisogna indicare nel campo "Fun password lost" la fun che si occuperà del reset, nel nostro caso la fun è: F(FBK;WE_110_02;MIS.PWD) INPUT(MA({0})).\\
Per procedere con il recupero password, nel campo user bisogna inserire la mail utilizzata in fase di registrazione e subito dopo schiacciare il link "Richiedi password smarrita".\\
\\
A questo punto, viene chiamato in primis il servizio WE_110_02 che controlla se la mail effetivamente è una mail registrata nel file, dopo di che chiama il programma WE_110_A2 che si occupa di creare la mail con il link per il reset della password da mandare all'utente.\\
Nel momento in cui viene creato il link del reset, viene aggiunto anche un hash alla mail per impedire la manipolazione del link.\\
\\
Esempio di link per il reset password:\\
\\
{URL_E_CONTEXT_DI_WEBUP}/views/webupExtLogin.jsf?\\
mod=[Webmod]&\\
fun=F(EXD;*SCO;)%202(MB;SCP_SCH;WE_110_02)%204(;;PWD)%20INPUT(MA({MAIL_PER_RESET_PASSWORD})%20HA({HASH_MAIL}))&\\
t=20220318143203&\\
hash=d3a05cb469739a30dac4b2ebdf23453b8af63543\\
\\
L'utente una volta ricevuta la mail, schiacciando sul link visualizzerà una scheda con un input panel nel quale potrà reimpostare la password.\\
Il modulo di login che visualizzerà la scheda con un input panel per cambiare la password è lo stesso modulo utilizzato dalla registrazione, quindi di tipo DIRECT.\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_009.png' caption='' width='100%' style='max-width: 100%;'}]\\
Nel momento in cui viene schiacciato il pulsante di conferma, viene chiamato il servizio WE_110_02 che reindirizzerà la chiamata al programma WE_110_A2 che in primis controlla mail e dopo di che aggiorna il file con la nuova password.\\
Infine, verrà visualizzato un messaggio con l'esito dell'operazione.\\
\\
!! Gestione BackOffice\\
\\
Tramite la scheda WE_110_BCO è possibile gestire gli utenti: registrare un nuovo utente, abilitare/disbilitare un utente, modificare i dati utente, resettare la password e gestire l'associazione user id con identity provider.\\
La scheda è principalmente suddivisa in 3 tab:\\
* Il primo tab rappresenta la "gestione autenticazione smeup", le cui attività possibili sono\\
** Abilitazione utente: selezionando questa voce tra le opzioni del record utente, viene chiamato il servizio WE_110_02 che a sua volta chiama il programma WE_110_A2 che setterà lo stato dell'utente ad "*ENABLED". Principalmente questa opzione viene utilizzata dal BackOffice per abilitare il nuovo utente dopo la registrazione.\\
** Disabilitazione utente: selezionando questa voce tra le opzioni del record utente, viene chiamato il servizio WE_110_02 che a sua volta chiama il programma WE_110_A2 che setterà lo stato dell'utente a "*DISABLED".\\
** Modifica dati utente: selezionando questa voce tra le opzioni del record utente, viene presentata una finestra ridotta contenente i campi che possono essere modificati. Una volta confermato, verranno chiamati il servizio WE_110_02 e il programma WE_110_A2 che effettueranno l'update dei dati.\\
** Reset della password: selezionando questa voce tra le opzioni del record utente, viene aperta una finestra ridotta con un form per resettare la password. Sul conferma verrà aggiornata la password nel file.\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_011.png' caption='' width='100%' style='max-width: 100%;'}]\\
* Il secondo tab rappresenta l' "Inserimento user autenticazione smeup ", la cui unica attività possibile è\\
** Registrazione nuovo utente: viene presentato il form di registrazione che una volta completato seguirà la stessa procedura di registrazione spiegata precedentemente, con la differenza che in questo caso lo stato dell'utente viene setttato direttamente ad "*ENABLED" e non verrà inviata nessuna mail all'utente di cui è stata effettuata la registrazione.\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_010.png' caption='' width='100%' style='max-width: 100%;'}]\\
* Il terzo tab rappresenta l' "Associazione User Id ad Utente Applicativo", le cui attività possibili sono\\
** Modifica associazione: selezionando questa voce, viene aperta una finestra ridotta con un form che permette di cambiare l'identity provider e il codice utente applicativo associato.\\
** Cancellazione associazione: selezionando questa voce si procede con la cancellazione definitiva dell'associazione tra User Id ed identity provider.\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_016.png' caption='' width='100%' style='max-width: 100%;'}]\\
* Il quarto tab rappresenta l' "Inserimento Associazione", la cui unica attività possibile è\\
** Inserimento nuova associazione: viene presentato un form di inserimento che una volta completato chiamerà il servizio WE_110_02 che demanderà al programma WE_110_A2 la scrittura effettiva su file WE11010F, al termina della quale viene emesso un messaggio con l'esito dell'operazione.\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_017.png' caption='' width='100%' style='max-width: 100%;'}]\\
!! Gestione Autorizzazioni\\
All'interno della UPP, è stata integrata la gestione delle autorizzazioni, in particolare nella scheda WE_110_BCO; per impedire la manomissione volontaria dei dati da parte di utenti non autorizzati.\\
Di conseguenza, all'interno della tabella B£P è stato aggiunta una nuova classe di autorizzazione, chiamata "WE_110G", nella quale sono state indicate le possibili attività di cui bisogna gestirne l'autorizzazione: inserimento, modifica, cancellazione e interrogazione.\\
Queste attività sono già state dichiarate nella tabella B£S dei significati nel subsettore GD; nel caso non lo fossero bisogna aggiungerle.\\
Dopo ciò, si è passati a gestire effettivamente le autorizzazioni applicative, ovvero tramite il comando UP AUT, sono stati aggiunti i permessi alla classe "WE_110G".\\
Partendo dal presuposto che la classe è "WE_110G" e la funzione è "**", le autorizzazioni che al momento sono state gestite sono le seguenti:\\
* utente = "**" : a cui è stata concessa l'autorizzazione solo per l'interrogazione dei dati.\\
* utente = "**ADM" : a cui è stata concessa l'autorizzazione a tutte le attività possibili, quindi inserimento, modifica, cancellazione e interrogazione dei dati.\\
* utente = "SMEUP_DAL" : a cui è stata concessa solo l'autorizzazione per l'inserimento dei dati, in quanto SMEUP_DAL è l'utente utilizzato nel modulo di login che permette di registrarsi.\\
\\
Quindi, nel caso in cui non si avesse l'autorizzazione ad una specifica attività, viene mostrata una visualizzazione dei dati ridotta rispetto a quella completa oppure viene restituito il seguente messaggio di errore: "Funzione non autorizzata".\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_012.png' caption='' width='100%' style='max-width: 100%;'}]\\
!! Gestione Password\\
All'interno della UPP è stata aggiunta la gestione della password, la quale permette di effettiare i seguenti controlli:\\
* Controllo lunghezza password: attraverso la variabile di UPP "PwdLen" è possibile definire la lunghezza minima di una password, nel caso in cui non fosse valorizzata viene settato di default 8 caratteri. Di conseguenza nel caso in cui la lunghezza minima non fosse rispettata si ottiene un messaggio di errore.\\
* Controllo Complessità della password: per far si che una password sia abbastanza complessa, sono stati aggiunti dei controlli per verificare la presenza di alcune caratteristiche che rendono la password "Forte", ovvero la password deve possedere 3 delle seguenti caratteristiche\\
** Almeno una lettera minuscola\\
** Almeno una lettera maiuscola\\
** Almeno un numero\\
** Almeno un carattere speciale\\
* Controllo Password Sbagliata: nel momento in cui un utente prova ad autenticarsi e la password fosse sbagliata, il programma può seguire una delle seguenti strade\\
** Nel caso in cui la variabile UPP "NAut" non fosse valorizzata, viene aggiornato il campo del file F6NRAF che rappresenta il "numero di autenticazion fallite" e viene semplicemente restituito un messaggio di "Autenticazione fallita"\\
** Nel cao in cui la variabile UPP "NAut" fosse valorizza, si può agire in 2 modi:\\
*** Se il campo del file F6NRAF ("numero di autenticazion fallite") incrementato di uno, fosse uguale al valore della variabile della UPP, a questo punto lo stato diventa "**DISABLED" e l'utente quando proverà ad accedere la volta successiva, otterrà un messaggio che gli comunicherà che l'utente è stato disabilitato e di dover contattare il BackOffice.\\
*** Se il campo F6NRAF ("numero di autenticazion fallite") incermentato di uno, fosse minore rispetto alla variabile UPP, a questo punto viene aggiornato il campo con il nuovo valore e viene restituito un messaggio di autenticazione fallita che riporta il numero di tentativi possibili rimasti prima che venga disabilitato l'utente.\\
\\
!! Scadenza Password\\
Per il controllo della scadenza password è stato creato un programma ad hoc, WE_110_A3, il quale verifica ogni utente registrato con identity provider SMEUP.\\
Per ogni utente sono possibili 2 azioni:\\
* Nel caso in cui la password sia scaduta, viene settato lo stato ad "*EXPIRED". Di conseguenza, l'utente al prossimo accesso riceverà un messaggio che la password è scaduta e dovrà procedere al reset della password, spiegato in precedenza.\\
* Nel caso in cui la password non sia ancora scaduta, ma scadrà a breve, viene inviata una mail all'utente avvisandolo che la password sta per scadere e gli viene fornito un link che permetterà il Cambio password.\\
Il link reindirizzerà l'utente al modulo di login di Autenticazione (modulo di tipo FUN), una volta che avrà inserito le credenziali, verrà visualizzata la scheda per il cambio password.\\
Nel momento in cui viene mandata la mail all'utente, viene valorizzato un campo del file WE11000F con la data in cui è stata inviata la mail promemoria di scadenza password. Questo perchè nel momento in cui venisse avviato un successivo controllo della scadenza password non venga rinviata la stessa mail.\\
\\
Esempio di link per il cambio password:\\
{URL_E_CONTEXT_DI_WEBUP}/WebUP?\\
mod=[WebmodAU]&\\
fun=F(EXD;*SCO;)%202(MB;SCP_SCH;WE_110_02)%204(;;CHG)%20INPUT(MA({MAIL_PER_CAMBIO_PASSWORD})%20HA({HASH_MAIL}))\\
\\
[{Image src='immagini/MBDOC-WE_110D/WE_110_013.png' caption='' width='100%' style='max-width: 100%;'}]\\
Il vantaggio di avere un programma ad hoc è quello di poter schedulare il controllo della password, ma allo stesso tempo può essere richiamato da un servizio per avviare manualmente la verifica.\\
\\
\\
!! Video dimostrativi\\
\\
[https://youtu.be/fkxgy5I-RwY]\\
\\
\\
This page has only one version
«