Поделиться через


SP. RoleDefinition object (sp.js)

Задает определение одной роли, включая имя, описание и набор прав.

Дата последнего изменения: 9 марта 2015 г.

Область применения: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013

var object = new SP.RoleDefinition()

Элементы

Объект RoleDefinition содержит следующие элементы.

Конструктор

Объект RoleDefinition имеет следующий конструктор.

Конструктор

Описание

RoleDefinition

Представляет шаблон рабочего процесса, развернутый сейчас на сайте.

Методы

Объект RoleDefinition содержит следующие методы.

Метод

Описание

deleteObject

Задает условия перемещения файлов.

обновление

Получает пользователя с указанным адресом электронной почты.

Свойства

Объект RoleDefinition имеет следующие свойства.

Свойство

Описание

basePermissions

Получает значение, указывающее, является ли список внешним.

Описание

Получает код языка.

скрытые

reservemember

Идентификатор

Задает базовый тип списка.

Имя

, представляющий время последнего изменения элемента веб-сайта.

порядок

Получает или задает значение, указывающее порядок объекта на странице уровней разрешений в семействе веб-сайтов.

roleTypeKind

Получает значение, задающее отображаемое имя конфигурации определения сайта или шаблона сайта.

Пример

В следующем примере создается кнопку ввода на страницу приложения, который создает новый уровень разрешений и добавляет пользователя к определенному списку с помощью этого уровня разрешений.

<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>

Конечная точка ресурса REST

Ресурс RoleDefinition более подробные сведения.

Структура URI конечной точки

http://<sitecollection>/<site>/_api/web/roledefinitions(roledefinitionid)

Запросы HTTP

Этот ресурс поддерживает следующие команды HTTP:

Синтаксис DELETE

DELETE http://<sitecollection>/<site>/_api/web/roledefinitions(roledefinitionid)

Синтаксис MERGE

MERGE http://<sitecollection>/<site>/_api/web/roledefinitions(roledefinitionid)

Синтаксис POST

POST http://<sitecollection>/<site>/_api/web/roledefinitions(roledefinitionid)

Синтаксис PUT

PUT http://<sitecollection>/<site>/_api/web/roledefinitions(roledefinitionid)