Quando l'applicazione è in esecuzione, spesso è necessario sapere chi sta eseguendo determinati processi. Ciò è necessario per distribuire correttamente i dati e concedere o limitare l'accesso a diverse risorse. Questa funzione è utilizzata in quasi tutte le applicazioni.
Come identificare l'utente corrente in AppMaster
Sul lato backend
Esiste un blocco Auth: Get Current User in AppMaster per individuare l'utente corrente. È fornito dal modulo Auth. Lo si può trovare nell'editor dei processi aziendali nella scheda backend a sinistra.
Questo blocco restituisce un record del database User che appartiene all'utente che ha eseguito il blocco.
Importante
Il blocco Auth: Get Current User funziona solo per gli utenti autorizzati. In tutti gli altri casi, il risultato di questo blocco sarà indefinito.
Con questo semplice metodo, possiamo ottenere l'utente corrente della nostra applicazione. Tuttavia, questo blocco esiste solo nel backend, ma nella maggior parte dei casi è necessario per identificare l'utente nel frontend dell'applicazione.
Sul lato frontend
Per eseguire processi nel backend dal frontend si utilizzano gli endpoint. Per maggiori informazioni su di essi, consultare questo articolo.
Per il blocco Auth: Get Current User, è necessario creare un nuovo endpoint, come è stato fatto nella schermata sottostante:
Per richiamare l'endpoint dal frontend, occorre utilizzare il blocco Server Request GET /user/get-current (in questo caso). Il flusso di utilizzo dell'endpoint è lo stesso per le applicazioni web e mobili.
Lavorare con l'utente corrente
Vediamo alcuni esempi di utilizzo del blocco Auth: Get Current User. Il blocco stesso restituisce un record della tabella User. Per ottenere dati specifici dal record, è necessario espanderlo con il blocco Expand User:
Tutti i campi dell'output possono essere utilizzati in modo specifico. Ad esempio, per verificare se l'account dell'utente è confermato, si può utilizzare il campo Confirmed, di tipo booleano, come nell'immagine seguente.
Parametro Con
Il parametro With nell'output specifica se la richiesta deve essere eseguita con l'uso di tabelle correlate. Quindi, ad esempio, per ottenere dati dalla tabella Sessioni utente per l'oggetto Utente corrente (cioè un elenco delle sessioni utente correnti), è necessario specificare il valore del campo with per cercare la tabella associata (Sessioni utente in questo caso).
Importante!
Il parametro With complica la query e quindi aumenta il tempo di elaborazione. Non è utilizzato per impostazione predefinita e viene usato solo se necessario.
Conclusione
In questo articolo abbiamo imparato a determinare l'utente corrente dell'applicazione sul lato backend e sul lato frontend. Questa funzione è una delle più utilizzate nello sviluppo di applicazioni. Con AppMaster, è possibile eseguire facilmente queste richieste con poche combinazioni di blocchi di processi aziendali.