SP へRoleDefinitionBindingCollection オブジェクト (sp.js)

ロール割り当てオブジェクトにバインドされるロール定義を定義します。

**適用対象:**apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013

var object = new SP.RoleDefinitionBindingCollection()

メンバー

RoleDefinitionBindingCollectionオブジェクトでは、次のメンバーがあります。

Constructor

RoleDefinitionBindingCollectionオブジェクトでは、次のコンスがあります。

コンストラクター

説明

RoleDefinitionBindingCollection

Initializes a new instance of the SP.RoleDefinitionBindingCollection object.

メソッド

RoleDefinitionBindingCollectionオブジェクトでは、次の方法があります。

メソッド

説明

追加します。

Adds the specified role definition to the binding collection.

itemAt

Gets the role definition at the specified index in the binding collection.

newObject

削除します。

Removes the specified role definition from the binding collection.

removeAll

Removes all role definitions from the binding collection.

プロパティ

RoleDefinitionBindingCollectionオブジェクトでは、次のプロパティがあります。

プロパティ

説明

childItemType

アイテム

Gets the role definition at the specified index in the binding collection.

次の例では、新しいアクセス許可レベルを作成し、そのアクセス許可レベルに特定のリストにユーザーを追加するアプリケーション ページの [入力] ボタンを作成します。

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

他のリソースのエンドポイント

詳細については、 RoleDefinitionBindingCollection リソースを参照してください。

エンドポイント URI 構造

http://<sitecollection>/<site>/_api/web/RoleAssignments(principalid)/RoleDefinitionBindings

HTTP 要求

このリソースには、次の HTTP コマンドがサポートしています。

書式を取得します。

GET http://<sitecollection>/<site>/_api/web/RoleAssignments(principalid)/RoleDefinitionBindings

投稿の書式

POST http://<sitecollection>/<site>/_api/web/RoleAssignments(principalid)/RoleDefinitionBindings