zoukankan      html  css  js  c++  java
  • 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();
             }
    }

     
  • 相关阅读:
    .net remoting 事件调用循环处理中重复返回的问题.
    MySQL5.7.29winx64解压缩版安装
    IntelliJ IDEA下SVN的配置及使用说明
    navicat12.0.26如何激活
    sql优化的几种方式
    mysql导入文件出现Data truncated for column 'xxx' at row 1的原因
    MessageFormat.format()用法
    idea提交svn不显示新建文件
    后端Long类型传到前端精度丢失的正确解决方式
    在IDEA中的cannot_resolve_method解决方法
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/1282020.html
Copyright © 2011-2022 走看看