Sto sviluppando una dashboard di amministrazione con aree diverse, in cui diversi utenti possono disporre di autorizzazioni diverse. Ad esempio:
- Notizie
- John: modifica, visualizza, aggiungi, rimuovi;
- Carlos: modifica, visualizza;
- Mario: -;
- Supporto
- John: view;
- Carlos: modifica, visualizza;
- Mario: modifica, visualizza, aggiungi, rimuovi;
Il modo in cui controllo questa autorizzazione è tramite array JSON, contenente ogni area e elenco di autorizzazioni. L'ho salvato nel mio database MySql (serializzato per primo) e anche sul localStorage. In questo modo posso controllare il frontend, ma anche fare una validazione finale sul lato server, tramite PHP.
Esempio JSON:
{
"area": "news",
"permission": [
{"field": "access", "value": true},
{"field": "read", "value": true},
{"field": "edit", "value": true},
{"field": "add", "value": true},
{"field": "remove", "value": true}
]
},
{
"area": "support",
"permission": [
{"field": "access", "value": true},
{"field": "read", "value": true},
{"field": "edit", "value": false},
{"field": "add", "value": false},
{"field": "remove", "value": false}
]
},
...
Ho dubbi su questo sistema perché, in primo luogo, non ho mai fatto nulla di simile e non ho trovato alcun esempio, quindi non so se questo è il modo corretto per farlo. Inoltre, lo sto memorizzando come JSON perché ci sono utenti admin che hanno bisogno di modificare (con checkbox) queste autorizzazioni, quindi è più facile visualizzarlo sul frontend.
Ma sono molto aperto a cambiare questo metodo sulla base di altri criteri che ritieni sia meglio. Voglio solo avere la sicurezza prima e anche facile da mantenere.