【问题标题】:Is it possible to grant permission for groups (in SharePoint) to a site programmatically?是否可以以编程方式将组权限(在 SharePoint 中)授予网站?
【发布时间】:2010-12-14 09:04:57
【问题描述】:

我正在使用 SharePoint 对象模型以编程方式(使用自定义 Web 部件)创建新网站。它工作正常,但我想知道是否也可以为组授予权限?

当我创建网站时,我已将其设置为不继承权限

newWeb = SPContext.GetContext(HttpContext.Current).Web.Webs.Add(siteUrl, siteName, siteDescription, (uint)1033, siteTemplate, true, false);

在 GUI 中,我可以转到站点操作(在新创建的站点上)-> 授予权限 -> 在父站点中搜索组,然后授予该组的权限。因此,在父站点中 myGroup 可以具有完全访问权限,但在此站点中,我可以将其设置为贡献或其他。是否可以在我创建网站时或之后(以编程方式)执行此操作?

提前致谢。

【问题讨论】:

    标签: sharepoint sharepoint-2010


    【解决方案1】:

    您必须为您的组分配角色定义。

    这是我编写的代码 sn-p,用于分配一组预定义的共享点角色定义。

    public bool AssignExistingGroupToWeb(SPWeb siteWeb, string GroupName, SPRoleDefinition roleDefinition)
    {
    //retrieve a group
    SPGroup siteGroup = siteWeb.SiteGroups.FindGroupByName(GroupName);
    
    //create a role assignment for the group using the specified SPRoleDefinition
    //examples of roles as "Full Control", "Design", etc...
    SPRoleAssignment roleAssignment = new SPRoleAssignment(siteGroup);
    roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
    siteWeb.RoleAssignments.Add(roleAssignment);
    siteWeb.Update();
    }
    

    您可以通过访问 RoleDefinitions 集合来检索 SPRoleDefinition,如下所示...

    siteWeb.RoleDefinitions["Contribute"]
    

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 1970-01-01
      • 2018-01-18
      • 2014-03-15
      • 2017-04-24
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多