Progettazione consigliata per privilegi e ruoli in un'applicazione

3

Qual è l'opzione consigliata per progettare un sistema di privilegi?

La mia applicazione ha alcuni utenti con diversi ruoli (amministratore, consulente, esperto, giornalista ..) Ogni ruolo ha alcuni privilegi (leggi il documento, scrivi il documento, invia la posta, leggi la posta, scrivi la posta, leggi il libro, scrivi il libro ...).

Un privilegio unico deve consentire l'accesso solo a una funzionalità unica? La scrittura include il privilegio di lettura o l'utente deve avere il privilegio di lettura e scrittura per scrivere effettivamente

    
posta Troopers 13.12.2016 - 16:52
fonte

1 risposta

5

"Does Write include Read"...

Questa domanda può essere divisa in due parti.

Progettazione domini

I tuoi stakeholder devono decidere i privilegi esternamente visibili dal dominio e dalla prospettiva di business. Questi sono i privilegi che vedranno i tuoi clienti e quelli di cui il tuo staff di supporto parlerà con i clienti. Queste sono decisioni aziendali e di dominio, decisioni non programmatore .

(L'azienda può scegliere che la Scrittura implichi anche la Lettura - sebbene ci siano casi validi in cui ciò non è necessariamente vero).

Implementazione interna

I programmatori che implementano il sistema devono decidere la granularità dei privilegi che vogliono vedere e testare all'interno del codice. Questo può benissimo separare Read from Write anche se l'azienda sceglie che per quanto riguarda i privilegi articolati esternamente Write include Read.

Quello che vogliamo fare è mappare in modo pulito la nozione di business del privilegio alla rappresentazione interna, in particolare, in modo che questo sia DRY (si verifica in un solo posto nel codice sorgente). Questo, quindi, non presuppone che la scrittura includa la lettura in vari luoghi sparsi nell'implementazione.

    
risposta data 13.12.2016 - 17:10
fonte

Leggi altre domande sui tag