Ho cercato in giro e non riesco a trovare nessuna risposta particolare che affronti ciò che sto chiedendo, ma senza dubbio sarà già stato menzionato da qualche parte.
So che quando si eredita da un System.Web.Security.RoleProvider
astratto si sostituisce questo metodo public abstract string[] GetRolesForUser(string username);
e come nome del metodo ( GetRoles ) e il suo valore di ritorno ( stringa [] ) implica, è possibile restituire più di un ruolo per un singolo utente, ma potrebbe anche essere limitato a un singolo array di elementi tramite un provider di ruoli personalizzato.
Nella mia situazione lo sto implementando in un'applicazione web .NET MVC e utilizzando un provider di ruoli .NET personalizzato e ho deciso di decidere se consentire a un utente di avere più di un ruolo in un tempo.
Sto cercando qualsiasi motivo generale a favore o contro di ciò (in particolare per ragioni di implementazione)
La maggior parte dei punti che posso pensare sono specifici del dominio dell'app, qui ci sono un paio ...
- Decidere quali autorizzazioni di ruolo hanno la priorità, ovvero cosa fare quando 1 ruolo autorizza una determinata azione e un altro deve negarlo, ma entrambi i ruoli sono assegnati allo stesso utente.
- Indica se consentire agli utenti di attivare e disattivare i propri ruoli o assegnare sempre un ruolo solo a loro e fare in modo che un amministratore lo modifichi.
ma c'è una ragione particolarmente negativa per cui dovresti evitare di dare a un utente più ruoli alla volta? È meglio assegnare a un utente solo un ruolo?