首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以通过编程方式将组权限(在SharePoint中)授予站点?

是否可以通过编程方式将组权限(在SharePoint中)授予站点?
EN

Stack Overflow用户
提问于 2010-12-14 06:51:50
回答 1查看 2.5K关注 0票数 2

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

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

代码语言:javascript
复制
newWeb = SPContext.GetContext(HttpContext.Current).Web.Webs.Add(siteUrl, siteName, siteDescription, (uint)1033, siteTemplate, true, false);

然后,在图形用户界面中,我可以转到Site Actions (在新创建的站点上) -> grant permission -> search for the parent site中的组,然后为该组授予权限。因此,在父站点中,myGroup可以拥有完全访问权限,但在此站点中,我可以将其设置为贡献或其他任何内容。是否可以在创建站点时或之后(以编程方式)执行此操作?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-12-14 09:04:58

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

这是我编写的一个代码片段,用于为一个组分配一个预定义的sharepoint角色定义。

代码语言:javascript
复制
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,如下所示...

代码语言:javascript
复制
siteWeb.RoleDefinitions["Contribute"]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4434270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档