10-27-2016 10:56 AM
Salve a tutti,
ho una esigenza piuttosto particolare sui permessi degli utenti.
Ho creato un nuovo ruolo di tipo Super-Collaborator che ha la possibilità di cancellare le cartelle di altri utenti.
Tutto bene, però avrei l'esigenza di impedire, a questi utenti "Super Collaborator", la cancellazione delle cartelle create dall'utente "Administrator".
E' possibile ?
10-31-2016 12:47 PM
Ciao,
come hai creato il tuo "super collaborator"? Estendendo permissionDefinitions.xml?
In ogni caso, i permessi di Alfresco sono attribuiti a nodi e non hai modo (almeno usando gli strumenti out-of-the-box) di rendere le tue azioni selettive in base all'utente creatore.
Probabilmente potresti ottenere quanto chiedi creando un custom interceptor per il PermissionService... ma qui entriamo in un terreno minato (è una operazione non proprio banale).
Come workaround potrei suggerirti di non utilizzare il "super-collaborator" ma di implementare una custom action per l'eliminazione. In quest'ultima sarebbe facile controllare se un nodo è stato creato dall'administrator prima di cancellarlo.
Potresti poi istruire i tuoi utenti "normal-collaborator" () ad utilizzare quella action quando devono eliminare un nodo di qualcun altro.
Non ho la possibilità di testare questa soluzione... ma a naso mi sembra fattibile (sempre se si adatta al tuo scenario).
Facci sapere...
11-02-2016 05:33 AM
OK David,
grazie per la risposta.
In effetti ho creato il super-collaborator estendendo permissionDefinitions.xml.
Il tuo workaround mi sembra molto sensato, adesso comincio a lavorarci sopra poi ti saprò dire.
Intanto grazie mille per i suggerimenti,
Marco
02-01-2017 06:33 AM
Ciao David,
alla fine ho seguito il tuo suggerimento e ho creato una nuova azione "Custom" che ho chiamato "Cancella" e... FUNZIONA
Grazie ancora per avermi indicato la strada giusta.
A presto,
Marco
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.