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: ,

posted @ lunedì 24 settembre 2007 05:48

Print
Comments have been closed on this topic.
«ottobre»
domlunmarmergiovensab
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789