SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite spSite = new SPSite(siteUrl))
{
using (SPWeb spWeb = spSite.OpenWeb())
{
if (spList != null)
{
spList.BreakRoleInheritance(true);
SPRoleAssignment roleAssignmentAdmin = null;
SPRoleAssignmentCollection SPRoleAssColn = spList.RoleAssignments;
for (int i = SPRoleAssColn.Count - 1; i >= 0; i--)
{
SPRoleAssColn.Remove(i);
}
//ProjectWorkspace Owners
SPGroup grp_PWOwners = spSite.RootWeb.SiteGroups[Constants.GrpProjectWorkspaceOwners];//ProjectWorkspace Owners
roleDefinitionAdmin = spWeb.RoleDefinitions.GetByType(SPRoleType.Contributor);
roleAssignmentAdmin = new SPRoleAssignment(grp_PWOwners);
roleAssignmentAdmin.RoleDefinitionBindings.Add(roleDefinitionAdmin);
spList.RoleAssignments.Add(roleAssignmentAdmin);
//Workspace Administrator
grp_PWOwners = spSite.RootWeb.SiteGroups[Constants.GrpWorkspaceAdministrators];//Workspace Administrator
roleDefinitionAdmin = spWeb.RoleDefinitions.GetByType(SPRoleType.Administrator);
roleAssignmentAdmin = new SPRoleAssignment(grp_PWOwners);
roleAssignmentAdmin.RoleDefinitionBindings.Add(roleDefinitionAdmin);
spList.RoleAssignments.Add(roleAssignmentAdmin);
//Workspace Administrator
grp_PWOwners = spSite.RootWeb.SiteGroups[Constants.GrpReaders];//Workspace Administrator
roleDefinitionAdmin = spWeb.RoleDefinitions.GetByType(SPRoleType.Reader);
roleAssignmentAdmin = new SPRoleAssignment(grp_PWOwners);
roleAssignmentAdmin.RoleDefinitionBindings.Add(roleDefinitionAdmin);
spList.RoleAssignments.Add(roleAssignmentAdmin);
spList.Update();
}
}
}
});
No comments:
Post a Comment