Permission Schema #
Lo schema che consente di configurare i diritti che un profilo possiede in una determinata applicazione è il Permission Schema . All’interno di ciascun Profile Schema esistono tanti Permission Schema quante sono le viste applicative a cui quel profilo ha accesso.
Nell’immagine precedente, è possibile vedere come ogni Permission Schema corrisponda alle viste applicative assegnate a un profilo, determinando così i permessi sui singoli elementi del relativo Application Schema. Ad esempio, il profilo Staff manager può utilizzare le applicazioni Team management e User area con pieni diritti di lettura e scrittura (Full write
), mentre sull’applicazione Staff management sono stati definiti dei permessi personalizzati (Custom permissions
).
Il Permission Schema permette di visualizzare e modificare puntualmente il tipo di accesso per ciascuna classe, attributo o relazione del modello per il Profile Schema selezionato.
Così come un Application Schema dipende dal Database Schema su cui è definito, un Permission Schema dipende dall’Application Schema per il quale esso specifica i permessi di quel Profile Schema . Pertanto, gli elementi disabilitati nella vista applicativa corrispondente sono disabilitati anche nel Permission Schema; in particolare, per le classi e i ruoli disabilitati viene mostrato solamente il contorno in grigio, mentre gli attributi disabilitati non compaiono affatto e lasciano degli spazi vuoti nelle classi.
Ciascun elemento abilitato ha tre possibili stati, rappresentati graficamente secondo il seguente codice colore:
- Modificabile (rosso): il profilo ha accesso completo a quell’elemento; può compilarlo se è un attributo, e associare oggetti se è un ruolo;
- Sola lettura (verde) : il profilo può vedere quell’elemento, ma non può modificarlo;
- Disabilitato (grigio): da non confondere con gli elementi disabilitati ereditati dall’Application Schema; anche a questo livello possiamo disabilitare elementi del diagramma, ma sempre nell’ambito di un solo Profile Schema.
Cliccando su un elemento del diagramma possiamo scegliere il suo stato tra le tre configurazioni appena elencate.
Nell’immagine precedente è mostrata una classe sulla quale sono stati definiti diritti di tipo diverso a seconda dell’attributo: l’unico attributo modificabile è il prezzo (price
), mentre le date di inizio e fine produzione (start_of_production
e end_of_production
) sono nascoste quando l’applicazione è utilizzata dal profilo selezionato.
Cliccando sul Default class role di una classe, è possibile scorrere velocemente tra le opzioni Full write
, Read only
, o disabilitarla completamente.
Quando la classe è in stato Read only
, non è possibile rendere modificabili gli attributi contenuti al suo interno; ciò non avrebbe infatti senso, perché la classe si trova concettualmente a un livello superiore, e il fatto che su di essa il profilo non abbia diritti di modifica deve necessariamente valere anche per i suoi attributi. Allo stesso modo, se una classe è disabilitata, non è possibile abilitare nessuno dei suoi attributi.
Classi e composizioni hanno un livello di dettaglio ancora più fine, rappresentato da tre icone nel footer della classe o sul ruolo part:
- rappresenta il diritto di creazione di nuovi oggetti;
- rappresenta il diritto di modifica di oggetti;
- rappresenta il diritto di eliminazione di oggetti.
Modificare i diritti su una classe #
Cliccando su una di queste icone, è possibile disabilitare o abilitare il diritto corrispondente; ciò consente di impostare determinate combinazioni di permessi: ad esempio, disabilitando solo la terza icona , un profilo potrà modificare gli oggetti e crearne di nuovi, ma non potrà eliminarli.
Quando tutte e tre le icone sono spente, e i relativi permessi sono disabilitati, la classe e tutti i suoi attributi passano automaticamente in modalità Read only
e appaiono colorati in verde.
Modificare i diritti su un ruolo di composizione #
Quando un ruolo di composizione è modificabile, è possibile impostare nel dettaglio i diritti di modifica, i quali vengono rappresentati graficamente accanto al ruolo stesso, come mostrato nell’immagine:
Dal Permission Schema , clicca col tasto destro sul ruolo di composizione per aprire il suo Role menu
e spunta le checkbox relative ai diritti che vuoi abilitare.
Selezionando un ruolo col tasto destro, è possibile cambiare i diritti cliccando direttamente sulle icone creazione, modifica e cancellazione della classe part. Così facendo, in caso di part con molti whole, tutti ruoli entranti della classe part vengono modificati.
Diritti generali del profilo #
È possibile impostare i diritti di un profilo per un’intera applicazione direttamente dal pannello Settings
, accessibile cliccando sul Profile Schema, e selezionando i permessi desiderati dal menu a tendina che compare accanto alle checkbox della sezione Access to applications
.
Il Permission Schema è disponibile per tutte le viste applicative, anche quelle che non hanno diritti personalizzati (Custom permissions
). Per una vista applicativa in modalità Full write
, infatti, tutti gli elementi abilitati appaiono in rosso, mentre per una vista in modalità Read only
appaiono in verde.
Nella tab Schemas
, l’etichetta di ciascuno schema riporta il tipo di diritto complessivo.
Qualora venissero fatte modifiche ulteriori, il tipo di permesso (visibile tra parentesi accanto al nome del Permission Schema) sarà definito Custom
(personalizzato).
Impostare permessi di default per i nuovi elementi creati #
Fai click destro su un Permission Schema per aprire il suo Application Permissions menu
e seleziona l’opzione Default permissions on new elements...
dal menu a tendina. Spunta le opzioni desiderate dal pannello Application permissions defaults
.
Altri aspetti del pannello Settings
#
Dal pannello Settings
è possibile configurare altri aspetti generali relativi ai diritti del profilo:
- Access to applications: è presente una checkbox per ogni vista applicativa nel modello; quando una vista applicativa è spuntata, è possibile scegliere il tipo di accesso tra completo (
Full write
), sola lettura (Read only
) oppure personalizzato (Custom
); - Editing of cloudlet settings: consente di assegnare al profilo il diritto di modifica delle impostazioni della Cloudlet;
- Management of cloudlet members: consente di assegnare al profilo il diritto di creare, modificare o eliminare membri della Cloudlet.
Quando aggiungiamo una nuova vista applicativa, tutti i profili esistenti vi ottengono accesso. Questo accade perché ogni vista applicativa deve avere almeno un profilo che può accedervi.
Impostare permessi di default per un profilo #
Fai click destro su un Profile Schema per aprire il suo Profile menu
e seleziona l’opzione Profile settings...
dal menu a tendina. Spunta le opzioni desiderate dal pannello Profile defaults
.
Nel pannello Profile defaults
, le quattro opzioni della sezione Default permissions in new applications (applied on all classes)
consentono di definire i permessi di default per gli oggetti delle nuove applicazioni:
- View objects: diritto di lettura;
- Create objects: diritto di creazione;
- Edit objects: diritto di modifica;
- Delete objects: diritto di eliminazione.
Diritti della classe __User #
I diritti relativi alla classe __User non possono essere modificati direttamente dal Permission Schema ma dipendono dalle impostazioni del pannello Settings
del Profile Schema:
Nella sezione Management of Cloudlet members
sono presenti tre checkbox: Create cloudlet members
, Edit cloudlet members
e Delete cloudlet members
, che abilitano rispettivamente la creazione, la modifica e l’eliminazione degli utenti i cui profili sono elencati nelle relative tabelle.
Per concedere un particolare grant, è necessario spuntare una delle checkbox e aggiungere i profili per i quali quel grant è valido, facendo clic sul pulsante Add
. Per revocare i permessi su un profilo aggiunto precedentemente, è necessario selezionarlo e fare clic sul pulsante Remove
.
La tabella di Edit cloudlet members
ha due colonne, Original profile
e New profile
, e i suoi record rappresentano transizioni fra profili; è possibile modificare gli attributi di qualsiasi utente il cui profilo compaia nella colonna Original profile
, ma quest’ultimo è modificabile solo se è presente la relativa transizione.