Escludere funzionalità sulla base del ruolo
copia linkTrascrizione
Foundation consente di impostare, in una applicazione, una gerarchia di Ruoli Operativi; all’avvio dell’applicazione è necessario dichiarare con quale ruolo deve essere eseguita, in modo tale che la costruzione dell’interfaccia grafica e relative funzionalità siano quelle appropriate al ruolo (abbiamo l’opportunità di definire cosa mostrare e quali funzioni consentirne l’esecuzione sulla base del ruolo di accesso all’applicazione).
Il principio è semplice tutti possono fare tutto, tranne ciò che è impedito nel Ruolo Applicativo o nei Ruoli di livello superiore: ad esempio è possibile impostare che gli utenti di un determinato Ruolo non vedano alcune voci di menu o campi di pannello o altri elementi di interfaccia, oppure che per determinati pannelli sia possibile eseguire solo ricerche e non inserimenti.
Tutti gli oggetti del progetto possono essere trascinati su un Ruolo per attivarne le limitazioni: se si trascina un oggetto pannello potremo decidere le funzionalità dello stesso (ricerca, aggiornamento, inserimento, cancellazione), se si trascina una voce di menu, un campo di pannello o altri oggetti questi diventerebbero Non Visibili, per il ruolo e per tutti i Ruoli nei livelli sottostanti.
Ad esempio, aggiungiamo qualche definizione al ruolo Cliente Registrato:
trasciniamo l’intero command set SetConfigura.
il comando Prenotazioni,
Passiamo alla videata Appartamenti, Pannello Appartamenti,
Command Button Altre Caratteristiche.
Vediamo l’effetto andando in compilazione.
Accedo come amministratore, il profilo sul mio database era rossi/rossi, e apriamo la Videata Utenti.
Possiamo creare un nuovo utente come Cliente Registrato (cliente/cliente).
Ora provo a uscire dall’applicazione e rientrare come cliente/cliente,
Come notate l’interfaccia è modificata sulla base del ruolo utente!
Come avrete notato la configurazione dei Ruoli e delle funzionalità è da effettuarsi in fase di progettazione usando l’ambiente Foundation; se si volesse impostare delle configurazioni dinamiche? Per questo esiste una funzionalità denominata RTC, che non è parte di questo tutorial, ma è riportata sulla documentazione che consente appunto di effettuare configurazioni a runtime.
Il principio è semplice tutti possono fare tutto, tranne ciò che è impedito nel Ruolo Applicativo o nei Ruoli di livello superiore: ad esempio è possibile impostare che gli utenti di un determinato Ruolo non vedano alcune voci di menu o campi di pannello o altri elementi di interfaccia, oppure che per determinati pannelli sia possibile eseguire solo ricerche e non inserimenti.
Tutti gli oggetti del progetto possono essere trascinati su un Ruolo per attivarne le limitazioni: se si trascina un oggetto pannello potremo decidere le funzionalità dello stesso (ricerca, aggiornamento, inserimento, cancellazione), se si trascina una voce di menu, un campo di pannello o altri oggetti questi diventerebbero Non Visibili, per il ruolo e per tutti i Ruoli nei livelli sottostanti.
Ad esempio, aggiungiamo qualche definizione al ruolo Cliente Registrato:
trasciniamo l’intero command set SetConfigura.
il comando Prenotazioni,
Passiamo alla videata Appartamenti, Pannello Appartamenti,
Command Button Altre Caratteristiche.
Vediamo l’effetto andando in compilazione.
Accedo come amministratore, il profilo sul mio database era rossi/rossi, e apriamo la Videata Utenti.
Possiamo creare un nuovo utente come Cliente Registrato (cliente/cliente).
Ora provo a uscire dall’applicazione e rientrare come cliente/cliente,
Come notate l’interfaccia è modificata sulla base del ruolo utente!
Come avrete notato la configurazione dei Ruoli e delle funzionalità è da effettuarsi in fase di progettazione usando l’ambiente Foundation; se si volesse impostare delle configurazioni dinamiche? Per questo esiste una funzionalità denominata RTC, che non è parte di questo tutorial, ma è riportata sulla documentazione che consente appunto di effettuare configurazioni a runtime.
Ultima modifica: 19/03/2021 / Validità: da 20.5.8000