Manuale · 8

Permessi sulle tabelle

Per ogni tabella esistono tre livelli di permesso possibili: nessun accesso, lettura o scrittura. Possono essere impostati sia direttamente su un utente sia su un gruppo (stesso editor in entrambi i casi).

Determinazione del permesso effettivamente valido per un viewer, in quest’ordine:

  1. Un override individuale impostato direttamente sull’utente – se presente, prevale sempre.
  2. Altrimenti il permesso più alto tra tutti i gruppi dell’utente.
  3. Altrimenti il valore predefinito: lettura per ogni viewer autenticato.

Un admin ignora completamente questo controllo – ha sempre accesso completo in scrittura, indipendentemente da quanto impostato qui.

Accesso in lettura pubblico

Oltre al permesso utente/gruppo sopra descritto, ogni tabella può essere impostata singolarmente come leggibile pubblicamente – tramite il menu a discesa nella colonna “Accesso” nella panoramica delle tabelle di un’origine dati (Impostazioni → Origini dati → seleziona tabella).

Questo riguarda esclusivamente gli endpoint di lettura dati di questa tabella: recupero dei record (singolo o come elenco), esportazione CSV, schema della tabella, viste salvate, valori per gli elenchi di selezione e allegati. Se una tabella è contrassegnata in questo modo, esattamente questi endpoint sono raggiungibili senza alcuna autenticazione – utile ad esempio per usare IllusionDB come backend di un blog pubblico, i cui contenuti devono essere serviti direttamente (senza login).

Espressamente non interessati:

  • Gli accessi in scrittura su questa tabella (creare/modificare/eliminare record, caricare allegati) – restano legati come di consueto al permesso utente/gruppo sopra descritto.
  • Le modifiche allo schema (creare colonne, viste, cambiare l’accesso pubblico stesso) – restano riservate agli admin.
  • Tutti gli altri endpoint non legati alle tabelle (gestione utenti, gruppi, audit log, gestione delle origini dati ecc.).

L’accesso in lettura pubblico è puramente additivo: non cambia nulla nella risoluzione dei permessi utente/gruppo sopra descritta per gli utenti autenticati, ma consente in aggiunta l’accesso non autenticato esattamente a questa tabella.

Campi da altre tabelle

I campi lookup, rollup, collegamenti e record figli mostrano dati di un’altra tabella. Se chi accede non può leggere quell’altra tabella, il campo gli viene nascosto – nell’interfaccia come nell’API (elenco colonne, record, esportazione). Filtrare, ordinare, raggruppare e riepilogare su un tale campo viene rifiutato, come se il campo non esistesse. Lo stesso vale per le formule che usano un campo nascosto e per le catene (ad es. un lookup su un lookup che accede a una tabella riservata).

Una chiave esterna verso una tabella non leggibile resta visibile – appartiene alla tabella stessa – ma mostra solo l’ID grezzo invece del valore di visualizzazione della tabella di destinazione; anche un filtro confronta allora con l’ID.

«Poter leggere» significa: admin, permesso di lettura tramite utente o gruppo – oppure, senza accesso, una tabella di destinazione leggibile pubblicamente. Per una tabella pubblica con un lookup verso una tabella non pubblica, i visitatori non autenticati quindi non vedono il campo lookup.