Scenario:
Dont ask me why but I was asked to create sharepoint group programatically. Also on top of it attach that group to a particular Roledefinition (i.e "Members" )
Solution:
Object Model , my favorite
Code:
private void AddGroup(SPWeb web, string GroupName, SPUser groupOwner, string GroupDescription, string roleDefinitionName)Article:
{
SPGroup oGroup = GetSiteGroup(web, GroupName);
if (oGroup == null)
{
web.SiteGroups.Add(GroupName, groupOwner, null, GroupDescription);
oGroup = GetSiteGroup(web, GroupName);
}
// Create the role assignment object
SPRoleAssignment oRoleAssignment = new SPRoleAssignment(oGroup);
// Add the role definition to the role assignemnt.
// This will assign the specific permission to the security principal for this role assignemnt.
oRoleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions[roleDefinitionName)]);
// Now we need to add the role assignment to the web
web.RoleAssignments.Add(oRoleAssignment);
// Now update the web
web.Update();
}
private SPGroup GetSiteGroup(SPWeb web, string name)
{
foreach (SPGroup group in web.SiteGroups)
if (group.Name.ToLower() == name.ToLower())
return group;
return null;
}
0 comments:
Post a Comment