Aggiunta del supporto per i privilegi a un'applicazione ASP.NET MVC che già supporta l'autorizzazione basata sui ruoli

1

Al momento ho un sistema in cui è presente una tabella utente, una tabella dei ruoli e una tabella di associazione dei ruoli utente, in cui un utente può essere associato a più ruoli (come Admin, BasicUser, ecc.). Sono in grado di autorizzare metodi di azione basati su questi ruoli.

Ora voglio aggiungere il supporto per i privilegi in modo che i metodi di azione possano essere limitati in base a quelli pure, piuttosto che solo per ruoli. Ad esempio, in un controller, potrei avere un'azione HTTPPost che solo una persona con un privilegio di "Scrittura" dovrebbe essere in grado di eseguire correttamente.

Quali modifiche devo apportare per poter assegnare privilegi ai ruoli? I.E., voglio selezionare il ruolo "Admin" per avere i privilegi "Write" e "Read", mentre un ruolo "BasicUser" avrà solo un privilegio "Read". In questo modo, un amministratore può accedere a qualsiasi metodo consentito dal privilegio di scrittura, mentre il BasicUser non può.

    
posta ITWorker 26.07.2016 - 15:49
fonte

1 risposta

1

Potrebbe essere semplice come appendere qualche altro campo sulla tabella Role , come CanRead e CanWrite . Se vuoi che sia più sofisticato, aggiungi una tabella RolePermission con una chiave esterna Role .

Vedi anche
Non eseguire controlli di autorizzazione basati sui ruoli; Effettua controlli basati sulle attività .

    
risposta data 26.07.2016 - 18:07
fonte