Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 17-Oct-2019 09:50 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 208 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
\\
Essendo una delle interfacce di Sme.UP ERP, Web.UP utilizza le stesse modalità di accesso al sistema di Looc.UP\\
* Indirizzo server\\
* Utente\\
* Password\\
* Ingresso utente\\
Questo significa che un utente, per accedere a Web.UP, deve possedere un profilo as400 e un B£U e un ambiente compatibile a Looc.UP\\
\\
Tuttavia in ambito web possono nascere esigenze differenti, ad esempio può essere necessario far accedere utenti che non hanno un profilo as400.\\
Per questo motivo sono state create diverse modalità di Login che supportando le esigenze più varie.\\
\\
ATTENZIONE: per ogni modalità di login è importante chiedersi quale sarà l'utente as400 del job.\\
\\
WebUP gestisce quattro tipologie di login:\\
* USRPRF\\
* FUN\\
* ROLES\\
* DIRECT\\
\\
Per accedere alla configurazione dei moduli di login (aggiunta, cancellazione, modifica) occorre premere la combinazione di tasti CTRL+SHIFT+F8, inserire\\
la password richiesta ed aggiornare la pagina.\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_031.png' caption='' width='100%' style='max-width: 100%;'}]\\
compariranno tre nuove voci:\\
-Main config (configurazione generale)\\
-Login module config (modifica login già esistenti)\\
-Create new login module (crea nuovi moduli di login)\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_032.png' caption='' width='100%' style='max-width: 100%;'}]\\
\\
Nella sezione "Create new login module" si possono creare i moduli di login necessari, impostando tipologia (una delle quattro accennate in precedenza e descritte a seguire) e\\
le credenziali di accesso per la connessione.\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_033.png' caption='' width='100%' style='max-width: 100%;'}]\\
Occorre poi andare nella sezione "Main config" per abilitare il modulo all'utilizzo, diversamente non sarebbe utilizzabile.\\
Per fare ciò occorre spostarlo tramite drag&drop nella colonna di destra come in figura:\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_034.png' caption='' width='100%' style='max-width: 100%;'}]\\
Una volta effettuato il salvataggio delle impostazioni, in maniera automatica si aggiornerà la pagina, disabilitando le tre voci di configurazione e facendo comparire il nuovo modulo\\
di login creato:\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_035.png' caption='' width='100%' style='max-width: 100%;'}]\\
\\
\\
\\
\\
Utilizzata per accedere lasciando all'utente la possibilità di cambiare i parametri d'accesso (solo quelli che non sono già impostati).\\
Questa modalità usa l'utente di sistema operativo.\\
Connessione: n utenti b£u -> n job (LO_Exxxxxx)\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_018.png' caption='' width='100%' style='max-width: 100%;'}]\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_011.png' caption='' width='100%' style='max-width: 100%;'}]\\
\\
Web.UP supporta la modalità di login che abbiamo definito definito "External", che permette di autenticare l'utente attraverso i normali moduli di login, ma senza presentare la form di login.\\
Questa modalità supportata da tutti i moduli di login, __è pensata soprattutto per l'integrazione con altre applicazioni web__.\\
\\
La pagina da chiamare è\\
\\
__/views/webupExtLogin.jsf__\\
\\
a cui, a seconda del tipo di modulo di login utilizzato, dovvranno essere passati dei parametri.\\
\\
!! Esempio di chiamata\\
\\
http://mauer.smeup.com/AreaRiservata/views/webupExtLogin.jsf?\\
__mod__=areaRiservata\\
&__p__=mauro.sanfilippo@smeup.com\\
&__t__=20150429075751\\
&__hash__=828895f2ee6139d5b8ddaaca05510a6f8b3aceb7\\
&__callBack__=http://areariservata.smeup.com/area-demo/web-up-3.html\\
&__sfuncion__=CLI\\
&__var__=A(B)C(DD)E(FFFF)\\
\\
\\
!! Parametri delle chiamata\\
I parametri sono definiti nelle seguenti tabelle, per ogni tipologia di login\\
\\
\\
!! Moduli di tipo FUN\\
\\
Utilizzata per contesti in cui si vuole gestire l'accesso di "n" utenze senza dover creare i relativi utenti di sistema operativo.\\
Nella modalità standard, occorre creare le "n" utenze necessarie nella tabella JAU.\\
Al momento del submit della form, verrà chiamato il servizio (fun) WEJAU_01 che riceverà utente/password digitati e, una volta verificate le credenziali nella tabella JAU,\\
restituirà un xml di matrice monoriga contenente tutti i campi della tabella JAU e permetterà quindi l'accesso al sistema.\\
Il valore di ogni campo della matrice sarà inoltre disponibile all'interno delle schede SmeUP (nel contesto WebUP) nella forma *WebUser.<nomeCampo> (es: *WebUser.T$JAUF).\\
Il servizio è estendibile a piacimento e può quindi restituire una matrice arricchita di tutti i dati necessari.\\
Ad esempio, aggiungendo alla matrice il campo XXABCD, lo stesso sarà poi disponibile nelle schede come [*WebUser.XXABCD].\\
Serve comunque un utente di sistema operativo per la connessione "master", diversamente non sarebbe possibile effettuata la chiamata al servizio WEJAU_01.\\
Per ulteriori dettagli implementativi si veda di seguito.\\
Connessioni: n utenti jau -> n job (LO_Exxxxxx) N.B. in questo caso ogni job sarà comunque intestato al medesimo utente master!\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_019.png' caption='' width='100%' style='max-width: 100%;'}][{Image src='immagini/MBDOC-WEBASE_011/WEBASE_012.png' caption='' width='100%' style='max-width: 100%;'}]\\
||Parametro||Nome||Descrizione||Obbiligatorietà
|__mod__|modulo di login|definisce quale modulo di login utilizzare|Obbigatorio\\
|__t__|timestamp|definsce data e ora UTC in formato yyyyMMddhhmmss|Obbligatorio\\
|__hash__|hash dei parametri|calcolata come descritto nel paragrafo sotto|Obbligatorio\\
|__p__|parametro|contiene il parametro specifico per l'autenticazione, che verra passato alla fun di autenticazione ad esempio il nome utente|Obbligatorio\\
|__callBack__|Url di callback|url di chiamare nel per ritornare all'applicazione chiamante|Facoltativo\\
|__sfunction__|Funzione d'avvio|contiente il nome della variabile SCP_CLO da usare come funzione d'avvio in sovrascrittura dell *SFUNCTION|Facoltativo\\
|__var__|Variabili|variabili da passare che verranno messe nel contesto LOO.VAR e impostate subito. La forma è variabile(valore)variabile2(valore2)|Facoltativo\\
\\
\\
!! Moduli di tipo ROLES\\
\\
Utilizzata per contesti in cui si vuole gestire l'accesso di "n" utenze senza dover creare i relativi utenti di sistema operativo, ma a differenza di Fun,\\
possono essere utilizzate le autorizzazioni di gruppo.\\
Occorre per prima cosa creare utenti di gruppo in b£u, ad esempio SMECLI, SMEAGE, SMECAP qualora si voglia creare tre tipologie di utenti: Cliente, Agente, Capo area.\\
Nella modalità standard, occorre creare poi le "n" utenze necessarie nella tabella JAU ed associare ad esse il relativo utente di gruppo, specificandolo\\
nei campi di JAU:\\
\\
Ad esempio gli utenti JAU CLI001, CLI002, CLI00n dovranno essere associati a SMECLI\\
Tipo ogg.associato=TA\\
Par. ogg.associato=B£U\\
Cod. ogg.associato=SMECLI\\
\\
analogamente gli utenti JAU AGE001, AGE002, AGE00n dovranno essere associati a SMEAGE:\\
Tipo ogg.associato=TA\\
Par. ogg.associato=B£U\\
Cod. ogg.associato=SMEAGE\\
\\
Al momento del submit della form, verrà chiamato il servizio (fun) WEROL_01 che riceverà utente/password digitati e, una volta verificate le credenziali nella tabella JAU,\\
reperirà anche le informazioni B£U legate all'utente associato.\\
In questo modo, verrà restituito un xml di matrice monoriga contenente tutti i campi della tabella JAU e tutti i campi della tabella B£U.\\
WebUP a questo punto cercherà l'utente di gruppo (SMECLI, SMEAGE, SMECAP...) restituito all'interno di una mappa (utente:password:ambiente) precompilata e\\
residente su server Windows/Linux, terminerà la connessione master per ritentarne una con le nuove credenziali.\\
Di fatto quindi il job su as400 sarà intestato all'utente di gruppo e come tale godrà delle relative caratteristiche.\\
\\
Relativamente al servizio, analogamente alla modalità fun, esso può essere esteso e modificato a piacimento.\\
Serve comunque un utente di sistema operativo per la connessione "master", diversamente non sarebbe possibile effettuata la chiamata al servizio WEJAU_01.\\
Per ulteriori dettagli implementativi si veda di seguito.\\
Connessioni: n utenti jau -> n job (LO_Exxxxxx) N.B. ogni job sarà comunque intestato all'utente B£U associato all'utente JAU\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_016.png' caption='' width='100%' style='max-width: 100%;'}][{Image src='immagini/MBDOC-WEBASE_011/WEBASE_009.png' caption='' width='100%' style='max-width: 100%;'}]\\
||Parametro||Nome||Descrizione||Obbiligatorietà
|__mod__|modulo di login|definisce quale modulo di login utilizzare|Obbigatorio\\
|__t__|timestamp|definsce data e ora UTC in formato yyyyMMddhhmmss|Obbligatorio\\
|__hash__|hash dei parametri|calcolata come descritto nel paragrafo sotto|Obbligatorio\\
|__p__|parametro|contiene il parametro specifico per l'autenticazione, che verra passato alla fun di autenticazione ad esempio il nome utente|Obbligatorio\\
|__callBack__|Url di callback|url di chiamare nel per ritornare all'applicazione chiamante|Facoltativo\\
|__sfunction__|Funzione d'avvio|contiente il nome della variabile SCP_CLO da usare come funzione d'avvio in sovrascrittura dell *SFUNCTION|Facoltativo\\
|__var__|Variabili|variabili da passare che verranno messe nel contesto LOO.VAR e impostate subito. La forma è variabile(valore)variabile2(valore2)|Facoltativo\\
\\
\\
!! Moduli di tipo DIRECT\\
\\
Utilizzata per accedere senza lasciare all'utente la possibilità di cambiare alcun parametro d'accesso (provider, indirizzo as400, ambiente, utente, password...)\\
Questa modalità usa l'utente di sistema operativo.\\
Connessione: n utenti b£u -> n job (LO_Exxxxxx)\\
\\
[{Image src='immagini/MBDOC-WEBASE_011/WEBASE_017.png' caption='' width='100%' style='max-width: 100%;'}][{Image src='immagini/MBDOC-WEBASE_011/WEBASE_010.png' caption='' width='100%' style='max-width: 100%;'}]\\
||Parametro||Nome||Descrizione||Obbiligatorietà
|__mod__|modulo di login|definisce quale modulo di login utilizzare|Obbigatorio\\
|__sfunction__|Funzione d'avvio|contiente il nome della variabile SCP_CLO da usare come funzione d'avvio in sovrascrittura dell *SFUNCTION|Facoltativo\\
|__callBack__|Url di callback|url di chiamare nel per ritornare all'applicazione chiamante|Facoltativo\\
|__var__|Variabili|variabili da passare che verranno messe nel contesto LOO.VAR e impostate subito. La forma è variabile(valore)variabile2(valore2)|Facoltativo\\
\\
\\
!! Validazione della richiesta\\
La richiesta viene validata\\
# calcolando l'hash dei parametri, secondo le modalità definite sotto, e confrontandola con quella passata nella request.\\
# calcolando il timestamp e confrontandolo con quella passata nella request, con una tolleranza definita nella configurazione del modulo di login\\
\\
Successivamente, viene eseguito il login sul sistema nelle modalità definite nel modulo utilizzato.\\
Ad esempio, nel caso di direct, viene eseguita la connessione, nel caso di fun o roles, viene chiamata la fun, passando come parametro quello definito nel parametro\\
"p" della request.\\
\\
!! Calcolo dell'hash\\
\\
Il calcolo dell'hash è eseguito usando\\
* __l'algoritmo di hashing__, secondo quanto definito nel file di configurazione.\\
* __il character encoding__ da utilizzare per la conversione in byte delle, secondo quanto definito nel file di configurazione\\
* i parametri obbigatori __p__ e __t__\\
* __un segreto condiviso__ tra le due applicazioni, secondo quanto definito nel file di configurazione\\
* i parametri facoltativi\\
\\
Suppondendo, ad esempio, di utilizzare __SHA1__, __UTF-8__, ed il segreto condiviso __WEBUP91818$__, avremmo il seguente algoritmo in pseudo codice:\\
\\
__String stringToHash= param + timestamp + "WEBUP91818$" + callback + sfunction + var ;__\\
\\
__byte[] byteToHash= encode("UTF8",stringToHash);__\\
\\
__byte[] calculatedHash = hashFunction("SHA1", byteToHash);__\\
\\
__if(calculatedHash != recievedHash)__\\
__ return "INVALID REQUEST";__\\
\\
!! Uso del callback\\
\\
La url di callback è una url che viene automaticamente chiamata da WebUP nei seguenti casi:\\
\\
- errore di login\\
- logout da webup\\
\\
Nel caso di errore, per permettere al chiamate di identificare la situazione, viene passato il parametro __error__\\
\\
Ad esempio:\\
http://www.caller.com/callbackFromWebup.php?error=hashError\\
\\
Gli errori vengono segnalati come segue:\\
||Parametro||Descrizione
|__configCheckError__|Errore nel reperimento della configurazione del modulo\\
|__timeError__|Richiesta scaduta\\
|__hashError__|Hash non valido\\
|__userError__|Utente non autorizzato o sconoscuito\\
\\
This page has only one version
«