Attualmente sto creando ruoli in cui ci sono utenti regolari, amministratori e super amministratori, ciascuno con autorizzazioni speciali. Ho rinviato a questo post su come farlo.
Fondamentalmente si tratta di impostare poche tabelle oltre alla tabella User
: Roles
(seconda tabella), UserRoles
(tabella join) o creazione di attributi booleani per il modello User
: admin
e super_admin
. Mentre sono in grado di fare entrambe le cose, cosa dovrei tenere a mente per mantenere la mia app sicura? Uno è migliore dell'altro? Spiegare.
Chiedo questo perché come la seconda risposta degli stati del post SO:
It really depends on what you wish to do with your admin role. The first option, I would say is a bit secure as the admin role is a unique model in itself.
The second option is straightforward and would help you get going with the least effort. However, if your users figure out the boolean variable and a way to set it, any user can become an admin and access areas you don't want them to.
Prima di arrivare a questa conclusione volevo ottenere un secondo parere in merito.