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.
«novembre»
domlunmarmergiovensab
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345