Following is the way to define permission level programmatically
First we need to know the permission levels available. following table contains the details:
And now here is the code by which we can define the custom role or permission level:
PRoleDefinition role = new SPRoleDefinition();
role.BasePermissions = SPBasePermissions.OpenItems | SPBasePermissions.EditListItems | SPBasePermissions.ViewListItems | SPBasePermissions.ViewPages | SPBasePermissions.Open | SPBasePermissions.ViewFormPages;
role.Name = “My Role Name”;
role.Description = “My Role Description”;
rootWeb.RoleDefinitions.Add(role);
Then we assign a set of permissions to an existing group in this case called MyGroup
SPRoleAssignment roleAssignment = new SPRoleAssignment(rootWeb.SiteGroups["MyGroup"]);
roleAssignment.RoleDefinitionBindings.Add(role);
rootWeb.RoleAssignments.Add(roleAssignment);
First we need to know the permission levels available. following table contains the details:
| Role | Description | 
| EmptyMask | Has   no permissions on the Web site. Not available through the user interface. | 
| ViewListItems | View items in lists, documents in document   libraries, and view Web discussion comments. | 
| AddListItems | Add   items to lists, add documents to document libraries, and add Web discussion   comments. | 
| EditListItems | Edit items in lists, edit documents in   document libraries, edit Web discussion comments in documents, and customize   Web Part Pages in document libraries. | 
| DeleteListItems | Delete   items from a list, documents from a document library, and Web discussion   comments in documents. | 
| ApproveItems | Approve a minor version of a list item or   document. | 
| OpenItems | View   the source of documents with server-side file handlers. | 
| ViewVersions | View past versions of a list item or   document. | 
| DeleteVersions | Delete   past versions of a list item or document. | 
| CancelCheckout | Discard or check in a document which is   checked out to another user. | 
| ManagePersonalViews | Create,   change, and delete personal views of lists. | 
| ManageLists | Create and delete lists, add or remove   columns in a list, and add or remove public views of a list. | 
| ViewFormPages | View   forms, views, and application pages, and enumerate lists. | 
| Open | Allow users to open a Web site, list, or   folder to access items inside that container. | 
| ViewPages | View   pages in a Web site. | 
| AddAndCustomizePages | Add, change, or delete HTML pages or Web   Part Pages, and edit the Web site using a SharePoint Foundation–compatible   editor. | 
| ApplyThemeAndBorder | Apply   a theme or borders to the entire Web site. | 
| ApplyStyleSheets | Apply a style sheet (.css file) to the Web   site. | 
| ViewUsageData | View   reports on Web site usage. | 
| CreateSSCSite | Create a Web site using Self-Service Site   Creation. | 
| ManageSubwebs | Create   subsites such as team sites, Meeting Workspace sites, and Document Workspace   sites. | 
| CreateGroups | Create a group of users that can be used   anywhere within the site collection. | 
| ManagePermissions | Create   and change permission levels on the Web site and assign permissions to users   and groups. | 
| BrowseDirectories | Enumerate files and folders in a Web site   using Microsoft Office SharePoint Designer 2007 and WebDAV interfaces. | 
And now here is the code by which we can define the custom role or permission level:
PRoleDefinition role = new SPRoleDefinition();
role.BasePermissions = SPBasePermissions.OpenItems | SPBasePermissions.EditListItems | SPBasePermissions.ViewListItems | SPBasePermissions.ViewPages | SPBasePermissions.Open | SPBasePermissions.ViewFormPages;
role.Name = “My Role Name”;
role.Description = “My Role Description”;
rootWeb.RoleDefinitions.Add(role);
Then we assign a set of permissions to an existing group in this case called MyGroup
SPRoleAssignment roleAssignment = new SPRoleAssignment(rootWeb.SiteGroups["MyGroup"]);
roleAssignment.RoleDefinitionBindings.Add(role);
rootWeb.RoleAssignments.Add(roleAssignment);
 
 
Improve color combination, not good to read
ReplyDelete