C# 将现有安全组添加到子网站

C# 将现有安全组添加到子网站,c#,sharepoint,sharepoint-2010,sharepoint-2007,sharepoint-api,C#,Sharepoint,Sharepoint 2010,Sharepoint 2007,Sharepoint Api,我使用以下代码创建了几个组: SPWeb currentSite = SPContext.Current.Web; currentSite.EnsureUser(groupOwner); currentSite.SiteGroups.Add(siteTitle1, currentSite.SiteUsers[groupOwner], currentSite.SiteUs

我使用以下代码创建了几个组:

                SPWeb currentSite = SPContext.Current.Web;
                currentSite.EnsureUser(groupOwner);
                currentSite.SiteGroups.Add(siteTitle1, currentSite.SiteUsers[groupOwner],
                currentSite.SiteUsers[groupOwner], siteDescription1);

如何将这些组分配给特定的子网站?

您应该获得子网站对象,如下所示:

var subWeb = currentSite.Webs["MySubSite"];
然后使用您的代码:

subWeb.EnsureUser(groupOwner);
subWeb.SiteGroups.Add(siteTitle1, currentSite.SiteUsers[groupOwner],
            subWeb.SiteUsers[groupOwner], siteDescription1);

在网站集级别添加组时,组将自动添加到子网站,反之亦然。表示只有一个组在所有级别显示,但不同级别的权限不同。因此,不能仅在子网站级别创建组。您能告诉我确切的要求吗?我怎样才能只为子网站创建一个组?谢谢!在“MySubSite”下,我是否需要拥有子网站的完整路径?类似“firstsite/secondsite/subsite”的内容?如果您想获取特定站点,应该使用:using(var site=new SPSite(“){using(var web=site.OpenWeb()){//your code}}}}我以前的代码仅获取当前站点的子站点。