This documentation is archived and is not being maintained.
SP.RoleAssignmentCollection object
SharePoint 2013
Represents a collection of SP.RoleAssignment objects that defines all the role assignments for each securable object.
Last modified: December 13, 2013
Applies to: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013
var object = new SP.RoleAssignmentCollection()
The following example creates an input button on an application page that creates a new permission level and adds a user to a specific list with that permission level.
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <script type="text/ecmascript" language="ecmascript"> function runCode() { var clientContext = new SP.ClientContext(); var siteColl = clientContext.get_site(); var site = clientContext.get_web(); // Set up permissions. var permissions = new SP.BasePermissions(); permissions.set(SP.PermissionKind.viewListItems); permissions.set(SP.PermissionKind.addListItems); permissions.set(SP.PermissionKind.editListItems); permissions.set(SP.PermissionKind.deleteListItems); // Create a new role definition. var roleDefinitionCreationInfo = new SP.RoleDefinitionCreationInformation(); roleDefinitionCreationInfo.set_name('Manage List Items'); roleDefinitionCreationInfo.set_description('Allows a user to manage list items'); roleDefinitionCreationInfo.set_basePermissions(permissions); var roleDefinition = siteColl.get_rootWeb().get_roleDefinitions().add(roleDefinitionCreationInfo); // Create a new RoleDefinitionBindingCollection. var newBindings = SP.RoleDefinitionBindingCollection.newObject(clientContext); // Add the role to the collection. newBindings.add(roleDefinition); // Get the list to work with and break permissions so its permissions can be managed directly. var targetList = site.get_lists().getByTitle('Announcements'); targetList.breakRoleInheritance(true, false); // Get the RoleAssignmentCollection for the target list. var assignments = targetList.get_roleAssignments(); // Add the user to the target list and assign the use to the new RoleDefinitionBindingCollection. var roleAssignment = assignments.add(site.get_currentUser(), newBindings); clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded),Function.createDelegate(this, this.onQueryFailed)); } function onQuerySucceeded() { alert('Security modified'); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); } </script> <input id="Button1" type="button" value="Run Code" onclick="runCode()" /> </asp:Content>
See RoleAssignmentCollection resource for more information.
Endpoint URI structure
http://<sitecollection>/<site>/_api/web/RoleAssignments
HTTP requests
Show: