zoukankan      html  css  js  c++  java
  • Sharepoint 权限

    Sharepoint权限中的关系:权限——角色 ——对象——关联

    //为角色赋予权限
    public void RoleAssignment(SPListItem item, SPPrincipal groupOrUser, SPRoleDefinition role)
            {
                item.Web.AllowUnsafeUpdates = true;
                if (!item.HasUniqueRoleAssignments)
                {
                    item.BreakRoleInheritance(true);//true则断开并继承原有权限,false则断开不继承原有权限
                }
                SPRoleAssignment assignment = new SPRoleAssignment(groupOrUser);
                assignment.RoleDefinitionBindings.Add(role);
                item.RoleAssignments.Add(assignment);
                item.Update();
                item.Web.AllowUnsafeUpdates = false;
            }
    
    //为权限级别分配权限基类:SPBasePermissions
            SPWeb oWebsite = SPContext.Current.Web
            SPRoleDefinitionCollection collRoles = oWebsite.RoleDefinitions;        //获取当前网站的权限集
                    SPRoleDefinition oRoleDefinition = collRoles["名称"];                  //权限集中的权限级别“名称”
                                                                                            //权限级别为网站操作中预先设定
                    oRoleDefinition.BasePermissions = SPBasePermissions.AddListItems |      //为权限级别分配权限积累
                        SPBasePermissions.BrowseDirectories |
                        SPBasePermissions.EditListItems |
                        SPBasePermissions.DeleteListItems |
                        SPBasePermissions.AddDelPrivateWebParts; ;
                    oWebsite.AllowUnsafeUpdates = true;
                    oRoleDefinition.Update();                                               //更新网站权限
                    oWebsite.AllowUnsafeUpdates = false;
    
    //完整分配权限方法
     public void ListItem_Permission(object sender, ClickedEventArgs e)
            {
                using (SPWeb oWebsite = SPContext.Current.Web)
                {
                    SPRoleDefinitionCollection collRoles = oWebsite.RoleDefinitions;
    
                    SPRoleDefinition oRoleDefinition = collRoles["test2"];
                    oRoleDefinition.BasePermissions = SPBasePermissions.AddListItems |
                        SPBasePermissions.BrowseDirectories |
                        SPBasePermissions.EditListItems |
                        SPBasePermissions.DeleteListItems |
                        SPBasePermissions.AddDelPrivateWebParts; ;
                    oWebsite.AllowUnsafeUpdates = true;
                    oRoleDefinition.Update();
                    oWebsite.AllowUnsafeUpdates = false;
                    SPPrincipal User = oWebsite.SiteGroups["权限名称"];                      //权限名称
                    RoleAssignment(oWebsite.Lists["列表名"].Items["Item名称"].Fields[""], User, oRoleDefinition);
                }
            }
  • 相关阅读:
    洛谷 P1908 逆序对(树状数组解法)
    洛谷 P1908 逆序对(归并排序解法)
    洛谷 P3368 【模板】树状数组 2(区间修改点查询)
    POJ 2833 The Average(优先队列)
    POJ 2255 Tree Recoveryw(二叉树)
    洛谷 P1540 机器翻译(队列)
    POJ 1686 Lazy Math Instructor(栈)
    队列中取最大值操作
    相邻元素差的绝对值都是1,在这样的数组中找目标元素
    双栈队列实现快速获取队列最大值最小值
  • 原文地址:https://www.cnblogs.com/renzh/p/SharepointPermissions.html
Copyright © 2011-2022 走看看