Responsive Ads Here

Tuesday, July 17, 2012

Create permissions to a SharePoint list using Object Model



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