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 имеет следующие свойства.
Свойство |
Описание |
---|---|
Получает значение, указывающее, является ли список внешним. |
|
Получает код языка. |
|
reservemember |
|
Задает базовый тип списка. |
|
, представляющий время последнего изменения элемента веб-сайта. |
|
Получает или задает значение, указывающее порядок объекта на странице уровней разрешений в семействе веб-сайтов. |
|
Получает значение, задающее отображаемое имя конфигурации определения сайта или шаблона сайта. |
Пример
В следующем примере создается кнопку ввода на страницу приложения, который создает новый уровень разрешений и добавляет пользователя к определенному списку с помощью этого уровня разрешений.
<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)