Ruoli e divieti Ruoli e divieti
Ruoli e divieti

In sintesi

In questa lezione vediamo come si configura l'accesso alle funzione applicative in base al ruolo dell'utente.

Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
Video lezione

Affrontiamo adesso un problema piuttosto importante: in base al ruolo operativo dell'utente che ha iniziato la sessione di lavoro, è necessario configurare gli elementi dell'interfaccia utente in modo da abilitare solo le funzioni a lui consentite.

Instant Developer consente di configurare con il drag&drop le funzioni ammesse, tramite la definizione di un albero di ruoli e dei relativi divieti. E' possibile aggiungere e configurare l'albero dei ruoli a piacere, per ogni ruolo aggiunto verrà creata una corrispondente costante nella lista valori dei ruoli.

Ora è possibile aggiungere ad ogni ruolo i relativi divieti, tenendo conto che ogni ruolo figlio erediterà tutti i divieti dei ruoli che lo precedono nella catena. Ad esempio tirando un comando di menù o un intero menù su un ruolo, esso verrà nascosto o disabilitato per lui e per tutti i ruoli suoi figli. Per regolare il tipo di divieto è possibile utilizzare il menù contestuale.

Possiamo anche tirare campi di pannello oppure gruppi di campi o anche pagine per renderle invisibili o disabilitate. Oppure possiamo tirare un pannello per regolare le funzioni consentite, per default il pannello viene reso in sola lettura. E' anche possibile tirare un item di un albero per renderlo invisibile o disattivato.

Infine è possibile tirare nei divieti una condizione di where di una query all'interno del client in modo da renderla attiva solo per quel ruolo e per i suoi figli. In questo modo è possibile anche modificare il risultato delle query in base al ruolo dell'utente.

Per assegnare il ruolo utente è necessario impostare la proprietà USER ROLE dell'oggetto applicazione all'interno dell'evento di Login o di Initialize dell'applicazione ad uno dei valori delle costanti della lista valori dei ruoli. Per fare un esempio, aggiungiamo un divieto su alcuni comandi di menù, poi impostiamo il pannello prodotti in sola lettura, infine aggiungiamo una condizione della master query del pannello che sarà attiva solo per un certo ruolo. Se l'utente è vuoto verrà impostato il ruolo anonimo, altrimenti amministratore. Vediamo come funziona. Se si entra scrivendo lo user name l'applicazione funziona normalmente, entriamo invece senza user name e vediamo che il menù si è ridotto, inoltre non possiamo più modificare i dati del pannello prodotti e non vediamo più tutti i prodotti come prima.

Notiamo infine che l'assegnazione dei divieti ai ruoli avviene a design time, mentre l'assegnazione dell'utente al ruolo avviene a runtime. Se si desidera configurare liberamente anche l'albero dei ruoli a runtime oppure l'assegnazione dei divieti ai ruoli è necessario attivare il modulo RTC.

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum

Scrivi una domanda e premi Invio per cercare nella documentazione online. Se non trovi risposte adeguate, potrai inviarla gratuitamente all’help desk.

Cerca