Una volta che hai creato la tua applicazione APEX devi preoccuparti di come renderla disponibile agli utenti.
In estrema sintesi, dovrai fare sostanzialmente due cose:
- Creare l’utente
- Assegnare un profilo
La necessità di dover gestire diversi profili utente è un tema frequente nella maggior parte delle applicazioni web, soprattutto se sono a supporto dei processi aziendali.
Pertanto non è remota l’eventualità che tu debba definire tipologie di utenti diversi, molto spesso in funzione dell’organizzazione aziendale, che possono avere, o non avere, accesso a specifiche funzionalità della tua applicazione.
Facciamo un esempio molto semplice.
Supponiamo tu debba implementare un’applicazione che serve a gestire gli ordini di vendita di un’azienda. Per gestire l’ordine di vendita ci sarà chi inserisce l’ordine di vendita, chi si occupa di spedire il materiale e chi manda la fattura al cliente.
Pertanto, potresti ave bisogno di definire i seguenti ruoli:
- Salesman: può inserire ordina di vendita e confermarli
- Operation: può effettuare le operazioni di spedizione
- Finance: può generare la fattura da inviare al cliente
Ovviamente, quello che ho fatto è solo un esempio. Nella realtà tu dovrai prima di tutto analizzare il processo che la tua applicazione deve coprire e di conseguenza mappare, se necessario, le sue funzionalità (maschere, voci di menù, bottoni, ecc.) sui ruoli specifici.
IN QUESTO ARTICOLO
Application Access Control: cos’è e come funziona
Per quanto riguarda la profilazione degli utenti, Oracle APEX è molto flessibile perché permette di definire schemi di autorizzazione (Authorization Schemes) praticamente infiniti, che possono essere basati sia su strutture dati standard di APEX che su logiche totalmente personalizzate.
In questo articolo ti spiegherò come creare uno schema di autorizzazione basato sull’Application Access Control di APEX.
Non preoccuparti, non è assolutamente complicato.
Inoltre, devi sapere che quando crei una nuova applicazione, Oracle APEX definisce subito uno schema di autorizzazione predefinito.
Quello che dovrai fare, sempre che tu ne abbia bisogno, sarà aggiungere eventualmente nuovi ruoli, sempre se necessario.
STEP 1: Definizione dei Ruoli nell’Application Access Control
- Accedi all’App Builder clicca sulla tua applicazione.
- Clicca su Shared Components.

- Clicca su Application Access Control

- In questa sezione puoi vedere due cose:
- Roles: L’elenco dei ruoli utente che sono stati definiti per questa applicazione
- User Role Assignments: elenco degli utenti che sono stati abilitati all’uso di questa applicazione
- Quando crei una nuova applicazione Oracle APEX crea 3 ruoli predefiniti
- ADMINISTRATOR
- CONTRIBUTOR
- READER

- Ti faccio notare che a questo livello, il concetto di ruolo è una semplice etichetta e non determina ancora cosa può fare o non fare un utente che ha un ruolo.
- Per creare un nuovo ruolo clicca su Add Role.
- Dai un Nome ed una Descrizione e poi premi Create Role.

STEP 2: Definizione di un Authorization Schemes (Schema di Autorizzazione)
Dopo aver creato un ruolo, va definito uno schema di autorizzazione.
Lo Schema di Autorizzazione è il meccanismo attraverso il quale APEX riesce a capire se, ad esempio, una determinata pagina può essere visualizzata o meno da un utente in funzione del suo ruolo.
Puoi vedere lo schema di autorizzazione di una qualsiasi pagina nella sezione Security.

Tutti gli elementi di Oracle APEX (bottoni, le entry delle voci dei menù, le pagine, ecc.) possono essere nascoste o inibite impostando lo schema di autorizzazione più opportuno.
Questo garantisce ti da la possibilità di gestire anche in maniera molto fine i permessi sugli oggetti della tua applicazione.
Se, ad esempio, vuoi abilitare alcune voci dal menù di navigazione principale solo per specifici ruoli utente, sarà sufficiente attribuirgli uno lo schema di autorizzazione più opportuno.

Come creare uno Schema di Autorizzazione
- Accedi all’App Builder clicca sulla tua applicazione.
- Clicca su Shared Components.
- Clicca su Authorization Schemes

- Clicca su Create.

- Seleziona l’opzione From Scratch e clicca Next.

- Specifica le informazioni richieste:
- Name: nome dello schema di autorizzazione
- Scheme Type: Is in Role Group. Questa opzione sta a significare che il sistema verificherà lo schema di autorizzazione in funzione del ruolo assegnato all’utente
- Type: Application Role
- Name(s): Test Role. Ruolo che abbiamo creato nel paragrafo precedente
- Validate authorization scheme: Once per session
- Clicca Create Authorization Scheme

Come assegnare uno Schema di Autorizzazione
Assegniamo lo schema di autorizzazione ad una pagina.
- Clicca sulla pagina e vai alla sezione Security
- Seleziona lo Schema di Autorizzazione che vuoi assegnare a questa pagina

- Un utente che prova ad accedere alla pagina senza avere il ruolo corretto, vedrà questo messaggio di errore

Come creare un nuovo utente
Un utente che deve accedere ad una applicazione che hai creato può farlo in diversi modi.
Ad esempio, puoi decidere se tramite Active Directory oppure se utilizzando gli Account Social.
In questo tutorial di spiegheremo il metodo basato standard messo a disposizione di Oracle APEX, ossia tramite l’Application Express Accounts.
- Accedi al WORKSPACE con un utenza che abbia i grants di Worspace Administrator. Se non sai di cosa sto parlando, leggi questo articolo.
- Clicca su Manage Users and Groups

- Clicca su Create User.

- Nella sezione User Identification, inserisci le informazioni richieste:
- Username
- Nome
- Cognome

- Nella sezione Password, inserisci la password per il primo accesso
- Come opzione di default, il sistema chiederà all’utente di reimpostarla

Authentication Schemes: come profilare l’utente
Affinché un utente possa utilizzare una qualsiasi applicazione tra quelle che hai sviluppato nel tuo Workspace APEX, è necessario che abbia assegnato un ruolo.
Il ruolo che deve avere deve essere uno tra quelli previste per la tua applicazione.
Per fare questa operazione, accedi alla sezione Application Access Control.
- Accedi all’App Builder clicca sulla tua applicazione.
- Clicca su Shared Components.
- Clicca su Application Access Control

- Vai alla sezione User Role Assignments
- Clicca su Add User Role Assignment

- Specifica l’utente che deve essere abilitato alla tua applicazione e il ruolo che deve avere
- Clicca Create Assignment.

- L’utente è stato abilitato con ruolo Test Role.

Gestione degli dalla pagina di amministrazione dell’applicazione
Se lo desideri è possibile installare nella tua applicazione una funzionalità specifica chiamata Access Control, accessibile solo se hai il ruolo di ADMINISTRATOR.
Se stai creando una nuova applicazione puoi selezionare l’opzione relativa nel wizard di creazione dell’applicazione.

Se invece vuoi aggiungere questa funzionalità ad una applicazione già esistente, puoi farlo creando una pagina nuova e selezionando l’opzione Access Control.

Attivando questa opzione potrai accedere a questa form, dalla quale potrai abilitare gli utenti.

Lascia un commento