0

我编写了一段代码来在 SharePoint 应用程序中创建自定义安全组。该代码在站点级别的功能激活上运行,如下所示:

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        SPSite site = (SPSite)properties.Feature.Parent;
        using (SPWeb web = site.OpenWeb())
        { 
            if (!GroupExists(web.SiteGroups, "Test Column Administrators"))
            {
                web.SiteGroups.Add("Test Administrators", web.AssociatedOwnerGroup, null, "Contains users and groups who can administer Test Column articles.");
                web.AssociatedGroups.Add(web.SiteGroups["Tets Column Administrators"]);
                web.Update();
            }
        }
    }

该代码确实创建了该组并将其添加到 SharePoint 网站,但是当我转到“站点操作”->“站点权限”(_layouts/user.aspx 页面)时,该组丢失了。但是当我手动转到 groups.aspx 页面 (_layouts/groups.aspx) 时,它就在那里。

如何让我的代码以这样的方式创建该组,使其也出现在用户/aspx 页面中?

提前致谢

4

1 回答 1

1

那完全没问题。群组页面显示站点中实际存在的群组列表。页面 Users.aspx 显示主体在该站点中拥有的权限。您的代码没问题,但如果需要权限,您必须添加更多代码来授予您的组权限。当您的组在站点内具有权限时,它将出现在 Users.aspx 页面上。查看如何向项目添加权限的示例,站点级别和 Web 级别也是如此。

于 2012-06-06T14:53:14.573 回答