In questo articolo vedremo come la piattaforma no-code AppMaster.io risolve il problema dell'accesso ai dati per gli utenti delle applicazioni.
Ciò avviene grazie all'introduzione di ruoli come Utenti, Moderatori, Amministratori e altri requisiti. Questa soluzione offre una maggiore flessibilità all'interno dell'applicazione costruita e controlla l'accesso alle informazioni e alle funzionalità all'interno dell'applicazione costruita.
L'articolo sarà utile a chiunque voglia immergersi nelle funzionalità della piattaforma AppMaster.io e vedere le sue capacità in termini di impostazioni per l'accesso ai dati da parte dei ruoli.
Мodule Auth by AppMaster.io
La registrazione nell'applicazione assemblata sulla nostra piattaforma è rappresentata dal modulo Auth, che consente di creare e modificare i gruppi di utenti e di accedere ai loro diritti. Il modulo Auth è già preinstallato nel progetto al momento della sua creazione.
Impostazioni del modulo Auth disponibili:
Gruppi SignUp - elenco dei gruppi di utenti che possono registrarsi;
SignUp - include la possibilità di registrarsi nell'applicazione;
Timeout sessione (minuti) - il tempo dopo il quale la sessione utente corrente terminerà se l'utente è inattivo (in minuti). L'impostazione predefinita è 60 minuti;
Ritardo login fallito (in ms) - tempo di ritardo per la risposta del server in caso di tentativo di login non riuscito (in ms). L'impostazione predefinita è 0 ms;
Conferma e-mail richiesta - opzione che prevede la verifica via e-mail, se attivata;
Utente registrato attivo - imposta l'attributo attivo su Vero per ogni utente registrato.
Gruppi - consente di creare e modificare i gruppi di utenti.
AppMaster.io utilizza il Data Model Designer per lavorare con i modelli.
Utente e Sessione utente sono due modelli creati automaticamente in Data Model Designer. I campi del modello di dati preinstallato non possono essere modificati o eliminati, ma è possibile aggiungerne di nuovi.
Per questi modelli, vengono creati automaticamente anche blocchi di processi aziendali (BP).
BP generati automaticamente associati a Utente e Sessione utente
- Modello utente
DB: Delete User - elimina l'oggetto User dal database tramite ID;
DB: Update User - azzera tutti i campi del blocco oggetto Utente passato all'input nel database e li aggiorna secondo i valori specificati (per modificare solo i campi specificati, si usa il blocco DB: Patch User);
DB: Create User - memorizza nel database e restituisce l'oggetto User dato (per costruirlo a partire dai campi dati, si usa il blocco Make User);
DB: Soft Delete User - aggiorna l'attributo DeletedAt dell'oggetto User e lo lascia nel database;
DB: Bulk Delete User - prende in input un array di ID (id) di oggetti Utente che saranno cancellati dal database;
failed_ids - un array di ID di utenti che non saranno cancellati;
DB: Patch User - aggiorna i campi specificati dell'oggetto User nel database (per azzerare tutti i campi, usare il blocco DB: Update User);
DB: Search User - trova uno o più oggetti User nel database in base ai campi e li restituisce;
DB: GetOne User - trova l'oggetto Utente nel database in base al suo ID e lo restituisce;
Expand User - restituisce tutti i campi dell'oggetto Utente selezionato;
Make User - crea un nuovo oggetto Utente in memoria a partire dai campi indicati e lo restituisce (per salvare l'oggetto creato nel database, utilizzare il blocco DB: Create User);
- Modello di sessione utente
DB: Delete User Session - rimuove l'oggetto User Session dal database in base all'ID passato;
DB: Update User Session - azzera tutti i campi dell'oggetto User Session passato al blocco di input nel database e li aggiorna secondo i valori specificati (per modificare solo i campi specificati, usare DB: Patch User Session);
DB: Create User Session - memorizza nel database e restituisce l'oggetto User Session dato (per costruirlo a partire dai campi dati, usare il blocco Make User Session);
DB: Soft Delete User Session - aggiorna l'attributo DeletedAt dell'oggetto User Session e lo lascia nel database;
DB: Bulk Delete User Session - accetta come input un insieme di ID di oggetti User Session che verranno eliminati dal database;
failed_ids - l'array definisce l'insieme degli ID che non saranno eliminati;
DB: Patch User Session - aggiorna i campi specificati dell'oggetto User Session nel database (per azzerare tutti i campi, utilizzare il blocco DB: Update User Session);
DB: Search User Session - trova uno o più oggetti User Session nel database in base ai campi e li restituisce;
DB: GetOne User Session - trova l'oggetto User Session nel database in base al suo ID e lo restituisce;
Expand User Session - restituisce tutti i campi dell'oggetto User Session selezionato;
Make User Session - crea un nuovo oggetto User Session in memoria a partire dai campi indicati e lo restituisce (per salvare l'oggetto creato nel database, utilizzare il blocco DB: Create User Session);
- Modulo Auth
Auth: Generate Auth Token - genera un token di autorizzazione (Auth Token) di una determinata lunghezza;
Auth: Registration - registra un nuovo utente;
Auth: Authorization - verifica se il token di autorizzazione esiste nel sistema e restituisce l'utente ad esso associato;
Auth: Authentification - verifica il login e la password dell'utente e restituisce un Auth Token;
Auth: Logout - accetta un Auth Token e termina la sessione utente corrente;
Auth: Get current user - restituisce i dati dell'utente corrente;
Auth: Remove user from the group - rimuove un utente dal gruppo specificato in base al suo ID (definito nelle impostazioni del modulo Auth);
Auth: Add user to the group - aggiunge un utente al gruppo specificato in base al suo ID (definito nelle impostazioni del modulo Auth);
Auth: Hash Password - converte una stringa di password in un hash;
Auth: Restore Password - accetta il nome utente e la nuova password dell'utente, reimpostandola;
Auth: Change Password - sostituisce la password corrente dell'utente con una nuova;
Auth: Probe Password - verifica la password e la corrispondenza dell'hash;
Gli endpoint del modulo Auth e i modelli User e User Session vengono generati automaticamente alla creazione del progetto.
Modulo Auth
Tipo di richiesta | Punto finale | Connesso BP |
---|---|---|
/logout/ | Autorizzazione: Logout | |
/auth/ | Autorizzazione: Autenticazione | |
/registrazione/ | Autorizzazione: Registrazione | |
/conferma/ | Autorizzazione: Registrazione | |
/utente/modifica password | Autorizzazione: Modifica password | |
/utente/ripristino-password/ | Autorizzazione: Ripristinare la password | |
/utente/profilo/ | Autorizzazione: Autorizzazione |
Utente
Tipo di richiesta | Punto finale | BPcollegato |
---|---|---|
/utente/:id/ | DB: Aggiornamento utente | |
/utente/:id/ | DB: Cancellare un utente | |
/utente/:id/ | DB: Ottenere un utente | |
/utente/ | DB: Ricerca utente | |
/utente/:id | DB: Patch Utente | |
/utente/ | DB: Creare un utente |
Sessione utente
Tipo di richiesta | Punto finale | Connesso BP |
---|---|---|
/sessione-utente/:id/ | DB: Cancellare sessione utente | |
/sessione-utente/:id/ | DB: Ottenere una sessione utente | |
/utente-sessione/ | DB: Ricerca sessione utente | |
/sessione-utente/:id/ | DB: Patchare la sessione utente | |
/sessione-utente/ | DB: Creare una sessione utente | |
/sessione-utente/:id/ | DB: Aggiornare la sessione utente |
Iltoken di autorizzazione viene utilizzato come token di sessione corrente dell'utente autorizzato. Nell'applicazione web BP, è possibile interagire con questo token:
- Get Auth Token restituisce l'Auth della sessione utente correntemente autenticata;
- Set Auth Token sovrascrive l'Auth Token della sessione corrente dell'utente autorizzato;
- Remove Auth Token cancella l'Auth Token della sessione corrente dell'utente autorizzato;
L'esempio mostra come ottenere l'utente corrente.
Per farlo, andare nella scheda Logica di business e trascinare il blocco Auth: Ottieni utente corrente.
Successivamente, viene creato un Endpoint per il BP creato, che verrà utilizzato per contattare il server e ottenere l'oggetto dell'utente corrente.
Selezionare il gruppo di utenti nella sezione Endpoint e creare un metodo di richiesta GET per il processo appena creato per ottenere l'utente corrente.
Nel BP dell'applicazione web, fare una richiesta all'endpoint creato (Server request GET /user_current) per ottenere l'utente corrente.
Gruppi e permessi
I gruppi di utenti vengono creati nelle impostazioni del modulo Auth. Per accedere alle impostazioni del modulo, è necessario aprire la sezione Moduli e fare clic sulla scheda del modulo corrispondente.
La scheda Gruppi contiene un elenco di tutti i gruppi esistenti. Fare clic su Aggiungi un nuovo elemento per creare un nuovo gruppo Utente. Nella nuova finestra modale, è possibile personalizzare il gruppo, aggiungere una descrizione, un'icona, il colore dell'icona e dell'etichetta e un tag.
Per modificare i gruppi di utenti esistenti, è necessario accedere alle impostazioni del modulo Auth. Per farlo, andare nella sezione Moduli e cliccare sulla scheda del modulo corrispondente. Successivamente, nella scheda Gruppi, sarà disponibile un elenco di gruppi, per modificare il quale è necessario fare clic sull'icona delle impostazioni. Nella nuova finestra modale, è possibile personalizzare il gruppo, modificarne la descrizione, l'icona, il colore dell'icona e dell'etichetta e il tag.
Per modificare i diritti di lettura/scrittura delle voci nel database per determinati gruppi di utenti, si utilizza il Middleware del modulo Auth.
Nella sezione Endpoint, selezionare l'Endpoint di cui si vogliono modificare le autorizzazioni di lettura/scrittura. Fare clic sul pulsante Impostazioni dell'endpoint desiderato e accedere alla scheda Middleware nella finestra modale che si apre. Quindi, facendo clic su Modifica impostazioni nella riga con Token Auth Middleware, impostare i diritti di accesso.
Accesso alle pagine dell'applicazione web: È necessario accedere all'applicazione web e fare clic sul pulsante Impostazioni della pagina a cui si desidera limitare l'accesso.
Nel campo Mostra per i gruppi, è necessario selezionare un elenco di gruppi di utenti che saranno autorizzati a visualizzare questa pagina. Per impostazione predefinita, il campo è vuoto e l'accesso è consentito a tutte le categorie di utenti.
Conclusione
L'accesso ai dati per ruoli è un modo conveniente per organizzare i flussi di informazioni per gruppi specifici di utenti. Con la piattaforma no-code AppMaster.io, è possibile testare questa funzione in una prova.
Se la funzionalità vi convince, acquistate il nostro piano Professional, che include questa funzione e anche l'esportazione di file binari, backup regolari, trasferimenti di progetti e molto altro ancora. Vi aspettiamo sulla piattaforma AppMaster.io per realizzare anche i vostri progetti più audaci.