我正在使用SharePoint对象模型以编程方式创建新站点(使用自定义web部件)。它工作得很好,但我想知道是否有可能也为组授予权限?
创建站点时,我已将其设置为不继承权限
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可以拥有完全访问权限,但在此站点中,我可以将其设置为贡献或其他任何内容。是否可以在创建站点时或之后(以编程方式)执行此操作?
提前谢谢。
发布于 2010-12-14 09:04:58
您必须将角色定义分配给您的组。
这是我编写的一个代码片段,用于为一个组分配一个预定义的sharepoint角色定义。
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"]https://stackoverflow.com/questions/4434270
复制相似问题