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.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011