Ciao a tutti!
Ieri ho provato a filtrare l'accesso di alcune TV ad un gruppo di utenti del manager. Dopo 1 ora di tentativi vari ci ho rinunciato, forse a causa di un bug poiché penso di aver fatto tutto il necessario ( o forse sono io il pollo, molto più probabile).
Vi spiego la mia situazione:
Ci sono 2 gruppi di utenze:
- Admin (io)
- Content Editor (i gestori del sito)
Cosa voglio fare?
Vorrei che il gruppo Content Editor acceda alla visualizzazione/modifica di una TV SOLO se la risorsa appartiene ad un determinato ResourceGroup.
Premessa
- La TV è accessibile al template utilizzato, ed è spuntata l'opzione nel tab "Access Permission" che, come dice il tab stesso:
Select the Resource Groups that this Template Variable belongs to. Only users with access to the Groups selected will be able to modify this TV. If no Groups are selected, all users with access to the Manager will be able to modify the TV.
- Il gruppo di utenti ha i permessi per accedere e modificare risorse appartenenti al gruppo di risorse in questione.
Il mio procedimento
Premetto che queste risorse sono CRC che estendono modResource, quindi ho il mio controller (sia per il create che per l'update). Ho inserito quindi una piccola funzione nella classe Update del controllore che verifica (ad ogni accesso a tale risorsa) e, nel caso, aggiunge la risorsa stessa al gruppo di risorse al qual'è si rende accessibile la modifica di tale TV. E fin qui, tutto a meraviglia. La risorsa viene correttamente inserita in quel gruppo di risorse.
(ho inserito il controllo qui per motivi che non sto ad elencare)
A questo punto dovrei avere le carte in regola:
- La tv è accessibile solo a quel gruppo di risorse (e chiaramente al Template che utilizzano)
- Il gruppo di risorse è accessibile al gruppo di utenti selezionato
Risultato:
- Qualsiasi policy di accesso metto nel gruppo di risorse non mostra la TV nella risorsa in questione. L'unica policy che mi mostra la TV è quella di Tipo "context" che però rende accessibile tale TV anche alle risorse che NON appartengono a tale gruppo di risorse.
Dove sbaglio??