Siamo vicini per avviare un nuovo progetto utilizzando sf2
e, probabilmente, FosUserBundle
.
Tenendo presente ciò: qual è la migliore strategia per definire i ruoli? L'app sarà utilizzata da più divisioni all'interno della nostra azienda (ogni divisione ha il suo manager e dipendenti regolari), così come gli utenti esterni, che possono essere divisi in 3 gruppi (per ora).
Sto arrivando con due possibili soluzioni:
-
ogni ruolo rappresenta un'azione specifica nell'app , vale a dire l'aggiunta di una nuova azione dell'attività è descritta come
task_new
role. Gli utenti selezionati ottengono questo ruolo per poter aggiungere nuove attività. -
ogni ruolo rappresenta la capacità dell'utente e ogni azione controlla se l'utente ha questa capacità cioè: quando viene aggiunta una nuova attività, il controllore controlla se l'utente corrente ha ruolo
task_access
.
I really in qualche modo come approccio a questo problema nella nostra attuale app - c'è un posto dove solo l'amministratore ha accesso garantito, con l'elenco di tutte le azioni registrate. Gli utenti sono divisi in circa 10 gruppi e tutto ciò che devi fare è verificare che questo gruppo abbia accesso a questa azione. In questo caso non è richiesta alcuna manipolazione del codice, ma temo che genererà alcune limitazioni o ruoli che aumentano eccessivamente nella nuova app.
Ciò di cui ho davvero paura è passare troppo tempo a cambiare il codice di sicurezza in uno specifico controller / azione, voglio dire, quando un nuovo utente deve accedere a un posto specifico, dovrò andare al codice, gestirlo di nuovo ruolo, il codice crescerà e così via. Voglio mantenere questo tempo il più basso possibile e il più flessibile possibile.
Credo che ci siano alcune ottime soluzioni a questo problema. Ho ragione?