Set Item Level Permission for SharePoint 2007 (MOSS/WSS) List/Document Library Programmatically

Here is a piece of code (a function) to set Item Level Permission. You can use it as a Web Method in a custom Web Service. This method can be used from Applications outside of SharePoint, provided the user using this application has sufficient privilege to update lists/libraries etc.

public string ItemPermission(string SitePath)

{

string ReturnVal = “”;

try

{

SPSite WebApp = new SPSite(SitePath);

SPWeb Site = WebApp.OpenWeb();

SPList list = Site.Lists[“TestDocLib”];

SPListItem item = list.Items[0];

SPRoleDefinition RoleDefinition = Site.RoleDefinitions.GetByType(SPRoleType.Contributor);

SPRoleAssignment RoleAssignment = new SPRoleAssignment(“<domain>\\<user>”, “email”, “name”, “notes”);

RoleAssignment.RoleDefinitionBindings.Add(RoleDefinition);

if(!item.HasUniqueRoleAssignments)

{

item.BreakRoleInheritance(true);

}

item.RoleAssignments.Add(RoleAssignment);

item.Update();

}

catch (Exception ex)

{

ReturnVal += “Permission not set, reason: ” + ex.Message;

}

return ReturnVal;

}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.