protected void AddItemRole(int itemID)
{
SPSecurity.RunWithElevatedPrivileges(delegate()//提升权限
{
using (SPSite site = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb web = site.OpenWeb(webUrl))
{
web.AllowUnsafeUpdates = true;
SPListItem item = web.Lists[listName].GetItemById(itemID);
item.BreakRoleInheritance(false);//打断继承并清空原有权限
//给查看组赋予权限
SPGroup grRead = web.SiteGroups[listName + ":查看者"];
SPRoleAssignment raRead = new SPRoleAssignment(grRead);
raRead.RoleDefinitionBindings.Add(web.RoleDefinitions["读取"]);
item.RoleAssignments.Add(raRead);
//给维护组赋予权限
SPGroup grAll = web.SiteGroups[listName + ":" + ddlDept.SelectedItem.Text];
SPRoleAssignment raAll = new SPRoleAssignment(grAll);
raAll.RoleDefinitionBindings.Add(web.RoleDefinitions["完全控制"]);
item.RoleAssignments.Add(raAll);
item.Update();
}
}
});
}