Share via


SharePoint 2010: How to Manage Permissions

 
This article will show you how to manage user permissions inside of SharePoint 2010. This enables you to change the read and write permissions for individuals and groups of users across your organization.
* *

Example 1. How to set permissions to SPListItem.

public void  SetSPListItemUserPermissions(SPListItem listItem, SPUser user, SPRoleType roleType)
{
    //Break role inheritance
    if (!listItem.HasUniqueRoleAssignments)
        listItem.BreakRoleInheritance(false);
    listItem.Update();
 
    //Create new role
    var roleDefinition = listItem.Web.RoleDefinitions.GetByType(roleType);
    var roleAssignment = new  SPRoleAssignment(user);
    roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
          
    //Assign new role
    listItem.RoleAssignments.Add(roleAssignment);
    listItem.Update();
}

Example 2. How to restore permissions to SPListItem

public void  RestoreSPListItemUserPermissions(SPListItem listItem) 
{
    if (listItem.HasUniqueRoleAssignments) 
        listItem.ResetRoleInheritance();
 
    listItem.Update();
}

Example 3. How to create new permissions level

public void  CreateNewPermissionsLevel(SPWeb web, string title, string description, SPBasePermissions basePermissions,  bool  copyRoleAssignments, bool keepRoleAssignments)
{
    if (!web.HasUniqueRoleDefinitions)
        web.RoleDefinitions.BreakInheritance(copyRoleAssignments, keepRoleAssignments);
    web.Update();
 
    var roleDefinition = new  SPRoleDefinition
                                {
                                    Name = title,
                                    Description = description,
                                    BasePermissions = basePermissions
                                };
    web.RoleDefinitions.Add(roleDefinition);
}