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