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;

}

Advertisements

About Joseph Velliah
As a SharePoint Developer my professional interests tend to be technical and SharePoint focused. I run a blog at "SP RIDER" where you can expect to read HOW TOs and scenarios that I run into during my day to day job. I hope my posts will give back a little to the community that is helped me.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: