SharePoint 权限

SharePoint 权限

 

SPSite site = listEvent.Site;
SPWeb web = site.OpenWeb();
string urlVal = listEvent.WebUrl + "/" + listEvent.UrlAfter;
SPFile file = web.GetFile(listEvent.UrlAfter);
while (file.CheckOutStatus != SPFile.SPCheckOutStatus.None)
{
         file = web.GetFile(listEvent.UrlAfter);
}
SPListItem myItem = file.Item;

//取消继承
if (!myItem.HasUniqueRoleAssignments)
         myItem.BreakRoleInheritance(true);
//清除权限
foreach (SPRoleAssignment roleAssignment in myItem.RoleAssignments)
{
         roleAssignment.RoleDefinitionBindings.RemoveAll();
         roleAssignment.Update();
}

SPGroup groupAdmin = web.SiteGroups["项目管理系统管理员"];

SPRoleDefinition RoleDefContributor = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
SPRoleDefinition RoleDefAdministrator = web.RoleDefinitions.GetByType(SPRoleType.Administrator);

SPRoleAssignment RoleAssAdmin = new SPRoleAssignment((SPPrincipal)groupAdmin);
SPRoleAssignment RoleAssAuthor = new SPRoleAssignment((SPPrincipal)file.Author);

RoleAssAdmin.RoleDefinitionBindings.Add(RoleDefAdministrator);
RoleAssAuthor.RoleDefinitionBindings.Add(RoleDefContributor);
//重新分配权限
myItem.RoleAssignments.Add(RoleAssAdmin);
myItem.Update();
myItem.RoleAssignments.Add(RoleAssAuthor);

myItem.Update();

 

 

using(SPWeb oParentWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
         SPWebCollection collWebsites = oParentWebsite.Webs;
         SPUser oUser = oParentWebsite.Users["User_Name"];
         foreach (SPWeb oWebsite in collWebsites)
         {
                  SPRole oRole = oWebsite.Roles["Role_Name"];
                  oRole.RemoveUser(oUser);
                  oWebsite.Dispose();
         }
}

 
原文地址:https://www.cnblogs.com/liuzhengdao/p/1282020.html