Principio di funzionamento
Il sistema di autorizzazioni di tikento si basa sul modello additivo: i diritti effettivi dell'utente sono l'unione delle autorizzazioni di tutti i ruoli a lui assegnati. Le autorizzazioni vengono solo aggiunte e mai sottratte.
Esempio: se a un utente sono assegnati i ruoli Manager e Finance, ottiene tutte le autorizzazioni di Manager (eventi, registrazioni, check-in) piu tutte le autorizzazioni di Finance (pagamenti, report, rimborsi).
Tre contesti dei ruoli
Ogni ruolo in tikento opera in uno dei tre contesti, che determinano l'ambito di visibilita delle autorizzazioni:
Contesto globale
Ruoli a livello di piattaforma. Utilizzati per l'amministrazione della piattaforma tikento stessa. Non disponibili per gli organizzatori comuni.
Contesto tenant (organizzazione)
Il contesto principale per il lavoro del team. Il ruolo opera a livello dell'intera organizzazione e si estende a tutti i suoi eventi.
Esempi:
- Admin a livello di organizzazione -- accesso a tutti gli eventi e le impostazioni
- Finance a livello di organizzazione -- visualizzazione delle finanze di tutti gli eventi
Contesto evento
Il ruolo e limitato a un evento specifico. L'utente vede solo l'evento a cui e associato il suo ruolo.
Esempi:
- Manager a livello di evento -- gestione di un solo evento
- Support a livello di evento -- check-in solo per un evento specifico
Autorizzazioni atomiche
Il sistema contiene 57 autorizzazioni atomiche, raggruppate per area:
Eventi
| Autorizzazione | Descrizione |
|---|---|
EVENT_CREATE | Creazione di un nuovo evento |
EVENT_UPDATE | Modifica dell'evento |
EVENT_DELETE | Eliminazione dell'evento |
EVENT_PUBLISH | Pubblicazione dell'evento |
EVENT_VIEW | Visualizzazione dell'evento |
Registrazioni
| Autorizzazione | Descrizione |
|---|---|
REGISTRATION_VIEW | Visualizzazione della lista dei partecipanti |
REGISTRATION_MANAGE | Conferma, annullamento delle registrazioni |
REGISTRATION_EXPORT | Esportazione della lista dei partecipanti |
CHECKIN_MANAGE | Check-in dei partecipanti |
Pagamenti
| Autorizzazione | Descrizione |
|---|---|
PAYMENT_VIEW | Visualizzazione dei pagamenti |
PAYMENT_REFUND | Avvio dei rimborsi |
PAYMENT_GATEWAY_MANAGE | Configurazione dei gateway di pagamento |
Moduli
| Autorizzazione | Descrizione |
|---|---|
FORM_CREATE | Creazione del modulo di registrazione |
FORM_UPDATE | Modifica del modulo |
FORM_DELETE | Eliminazione del modulo |
Team
| Autorizzazione | Descrizione |
|---|---|
TEAM_INVITE | Invito nel team |
TEAM_REMOVE | Rimozione dal team |
ROLE_ASSIGN | Assegnazione dei ruoli |
Notifiche
| Autorizzazione | Descrizione |
|---|---|
NOTIFICATION_SEND | Invio manuale |
NOTIFICATION_TEMPLATE_MANAGE | Modifica dei modelli |
Report
| Autorizzazione | Descrizione |
|---|---|
REPORT_VIEW | Visualizzazione dei report |
REPORT_EXPORT | Esportazione dei report |
Esperimenti
| Autorizzazione | Descrizione |
|---|---|
EXPERIMENT_MANAGE | Creazione e gestione degli esperimenti A/B (Business+) |
Billing
| Autorizzazione | Descrizione |
|---|---|
BILLING_MANAGE | Gestione del piano e del pagamento (solo Owner) |
L'elenco completo delle 57 autorizzazioni e disponibile nella sezione Impostazioni -> Team -> Autorizzazioni (per i piani Business ed Enterprise).
Ruoli temporanei
Potete assegnare un ruolo con durata limitata. Questo e utile per:
- Volontari all'evento -- ruolo Support per uno o due giorni dell'evento
- Manager temporanei -- ruolo Manager per il periodo di preparazione dell'evento
- Revisori -- ruolo Finance per il periodo di verifica
Come assegnare un ruolo temporaneo
- Andate in Impostazioni -> Team.
- Selezionate il membro del team.
- Quando assegnate il ruolo, attivate l'interruttore Limita nel tempo.
- Indicate la data e l'ora di scadenza del ruolo.
- Cliccate Salva.
Alla scadenza indicata, il ruolo viene automaticamente disattivato. L'utente perde le autorizzazioni corrispondenti ma rimane membro del team. Il record del ruolo temporaneo viene conservato nell'audit log.
Caching delle autorizzazioni
Per garantire una verifica rapida dei diritti, le autorizzazioni vengono memorizzate nella cache Redis:
- Chiave della cache:
perms:{tenantId}:{userId}:{eventId} - Tempo di vita della cache (TTL): 60 secondi
- Quando un ruolo viene modificato, la cache viene invalidata automaticamente
In pratica cio significa che dopo la modifica di un ruolo, i nuovi diritti vengono applicati entro un minuto al massimo. L'utente non deve uscire dal sistema e rientrare.
Verifica delle autorizzazioni
L'organizzatore puo verificare quali autorizzazioni ha ogni membro del team:
- Andate in Impostazioni -> Team.
- Cliccate sul nome del partecipante.
- Nella sezione Autorizzazioni effettive viene mostrato l'elenco completo dei diritti tenendo conto di tutti i ruoli assegnati.
Le autorizzazioni ottenute da ruoli diversi sono contrassegnate con le rispettive etichette.