Search code examples
c#sharepointpermissionsmoss

Programmatically add user permission to a list in Sharepoint


How do I programmatically add user permissions to a list in Sharepoint? I want to add the permission "Contribute" to a user or group for a certain list. I'm using C#.


Solution

  • You can do this using the SPRoleAssignment object, e.g.

    // Assuming you already have SPWeb and SPList objects
    ...
    SPRoleAssignment roleAssignment = new SPRoleAssignment("dom\\user", "user@dom", "user", "some notes");
    SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
    roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
    if (!myList.HasUniqueRoleAssignments)
    {
        myList.BreakRoleInheritance(true); // Ensure we don't inherit permissions from parent
    } 
    myList.RoleAssignments.Add(roleAssignment);
    myList.Update();