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();
             }
    }

     
  • 相关阅读:
    WinForm多线程+委托防止界面假死
    C#中异步及winform中界面假死
    js如何判断当前文本的输入状态——中文输入法的那些坑
    数据库主键设计之思考
    node.js使用superagent实现模拟登陆功能(包含下载验证码功能)
    application.properties在Spring Boot项目中的位置
    ubuntu18.04安装chromium浏览器
    ubuntu 18.04安装mysql 8
    Spring Boot学习笔记——搭建一个最简单的hello world
    ubuntu 18.04安装jdk8和eclipse
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/1282020.html
Copyright © 2011-2022 走看看