SharePoint 2010: нарушение наследования ролей с помощью ECMAScript - PullRequest
0 голосов
/ 27 января 2011

Кто-нибудь знает, как нарушить наследование ролей в сети (т.е. перестать наследовать разрешения от своего родителя) с помощью ECMAscript?

Это код JavaScript, который я пытаюсь использовать, но я получаю ошибку времени выполненияутверждая, что свойства не были должным образом инициализированы:

var clientContext = new SP.ClientContext.get_current();
var web = clientContext.get_web();
clientContext.load(web);

if (!web.get_hasUniqueRoleAssignments()) {
    web.breakRoleInheritance(true, false);
}

Интересно, что если я объединю веб-объект во время отладки, я вижу, что свойство hasUniqueRoleAssignments и функция breakRoleInheritance действительно существуют.Кроме того, MSDN заявляет, что оба этих члена доступны в классе SP.SecurableObject - я бы предположил, что и Web, или List будут наследоваться от этого класса.

Любые идеи

1 Ответ

1 голос
/ 27 января 2011

Согласно Извлечение клиентского объекта не извлекает все свойства , вам потребуется вызвать executeQueryAsync и использовать get_hasUniqueRoleAssignments внутри функции делегата:

В объектной модели сервера,когда вы возвращаете объект SPWeb, все его свойства становятся доступными для использования в коде.Но для повышения производительности в объектной модели клиента, когда вы возвращаете веб-объект, некоторые свойства не включаются, и вы должны явно получить их.Например, веб-класс наследует свойство HasUniqueRoleAssignments от класса SecurableObject, но при возврате веб-объекта это свойство по умолчанию не извлекается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...