SharePoint 2007 - Rimuovere i diritti di accesso ad una cartella

Un’importante innovazione che troviamo in SharePoint 2007, consiste nella possibilità di avere differenti autorizzazioni su ogni singola cartella di una document library (nella versione 2003 le autorizzazioni erano invece comuni su tutta la document library).
Se ad esempio vogliamo rimuovere i diritti di accesso a tutti i gruppi ad eccezione di uno, sarà sufficiente interrompere la RoleInheritance sulla cartella interessata e rimuovere i vari gruppi dall’item.
 
SPSite site = new SPSite("http://myServer:1001/sites/mySite/Documents");
SPWeb web = site.OpenWeb();
SPListItem item = web.GetFolder("http://myServer:1001/sites/mySite/Documents/cartella01").Item;
// Verifica la permission inheritance, e se necessario la interrompe
if (!item.HasUniqueRoleAssignments)
{
item.BreakRoleInheritance(true);
}
// Per ogni gruppo nel sito toglie i permessi ad eccezione del gruppo interessato
foreach (SPGroup group in web.Groups)
{
if (group.Name != "nome gruppo da non rimuovere")
{
item.RoleAssignments.Remove(group);
}
}
item.Update(); 
 

 

Technorati Tags: ,
«settembre»
domlunmarmergiovensab
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456