Abbiamo un'applicazione web per la gestione dei documenti, che gli utenti usano per collaborare a un documento. Ci sono 2 ruoli a livello di applicazione - Editor e Revisore e 3 diritti a livello di documento e di documento - Modifica, Commenta e Visualizza, Visualizza.
I documenti possono essere condivisi tra tutti gli utenti dell'applicazione. I documenti possono essere condivisi su 2 livelli
- l'intero documento
- sezioni specifiche
con uno qualsiasi dei 3 diritti: Modifica, Commenta, Visualizza.
La condivisione a livello di documento è semplice. Se un documento è condiviso con i diritti di modifica, l'utente ha automaticamente i diritti di modifica su tutte le sezioni del documento.
Tuttavia, stiamo affrontando problemi nella formulazione dei diritti di accesso a livello di sezione. Ad esempio, se l'intero documento non è condiviso con un utente e le sezioni specifiche devono essere condivise, dovremmo consentire agli utenti di avere diritti diversi (Modifica, Commenta, Visualizza) su sezioni diverse?
I moduli da caricare per i diritti di modifica, commento, vista sono decisi a livello di controller per ciascun componente con diritti di autorizzazione. Lo scenario specifico che ci ha confuso è se agli utenti vengono assegnati diversi diritti su sezioni diverse, l'autorizzazione deve essere richiamata e i moduli devono essere ricaricati. Idealmente, vorremmo evitare questo.
Come dovremmo gestire l'autorizzazione oi carichi del modulo in questo caso?
La nostra applicazione web è su uno stack AngularJS + .Net WebAPI + MongoDB. Gradirei davvero qualsiasi aiuto nel chiarire il nostro processo di pensiero su questo problema.