SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite osite =
new SPSite(siteCollectionUrl))
{
using (SPWeb oweb =
osite.OpenWeb())
{
SPWeb site = null;
site =
oweb.Webs.Add(Weburl, projectname, projectdescription, EnglishLocaleId,
sitetemplate, true, false);
site.Navigation.UseShared
= true;
site.Update();
isSitecreated
= true;
if (isSitecreated)
{
site.AllowUnsafeUpdates
= true;
site.SiteGroups.Add(site.Name
+ "-Owners", site.CurrentUser,
site.CurrentUser, "");
site.SiteGroups.Add(site.Name
+ "-Visitors", site.CurrentUser,
site.CurrentUser, "");
site.SiteGroups.Add(site.Name
+ "-Members", site.CurrentUser,
site.CurrentUser, "");
SPGroup gOwners =
site.SiteGroups[site.Name + "-Owners"];
SPRoleAssignment assignmentOwner = new SPRoleAssignment(gOwners);
assignmentOwner.RoleDefinitionBindings.Add(site.RoleDefinitions["Full Control"]);
site.RoleAssignments.Add(assignmentOwner);
SPGroup gVisitors =
site.SiteGroups[site.Name + "-Visitors"];
SPRoleAssignment assignmentVisitors = new SPRoleAssignment(gVisitors);
assignmentVisitors.RoleDefinitionBindings.Add(site.ParentWeb.RoleDefinitions["Read"]);
site.RoleAssignments.Add(assignmentVisitors);
//Add
users for visitors group
//gVisitors.AddUser();
SPRoleDefinition roleDefinition =
site.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Contributor);
SPGroup gMembers =
site.SiteGroups[site.Name + "-Members"];
SPRoleAssignment assignmentMembers = new SPRoleAssignment(gMembers);
assignmentMembers.RoleDefinitionBindings.Add(roleDefinition);
site.RoleAssignments.Add(assignmentMembers);
site.AllowUnsafeUpdates = false;
}
else
{
isSitecreated = false;
}
}
}
});
This will help you to create site and groups programatically
No comments:
Post a Comment