向角色分配对象的集合中的角色分配。
命名空间: Microsoft.SharePoint.Client
程序集: Microsoft.SharePoint.Client.Silverlight(位于 Microsoft.SharePoint.Client.Silverlight.dll 中); Microsoft.SharePoint.Client.Phone(位于 Microsoft.SharePoint.Client.Phone.dll 中) Microsoft.SharePoint.Client(位于 Microsoft.SharePoint.Client.dll 中)
语法
声明
Public Function Add ( _
principal As Principal, _
roleBindings As RoleDefinitionBindingCollection _
) As RoleAssignment
用法
Dim instance As RoleAssignmentCollection
Dim principal As Principal
Dim roleBindings As RoleDefinitionBindingCollection
Dim returnValue As RoleAssignment
returnValue = instance.Add(principal, _
roleBindings)
public RoleAssignment Add(
Principal principal,
RoleDefinitionBindingCollection roleBindings
)
参数
principal
类型:Microsoft.SharePoint.Client.PrincipalPrincipal对象表示用户或组可以分配权限Microsoft SharePoint Foundation到控制安全性。
roleBindings
类型:Microsoft.SharePoint.Client.RoleDefinitionBindingCollection定义绑定到角色分配对象的角色定义RoleDefinitionBindingCollection对象。
返回值
类型:Microsoft.SharePoint.Client.RoleAssignment
表示要添加的角色分配的RoleAssignment对象。
异常
| 异常 | 条件 |
|---|---|
| InvalidOperationException | 父安全对象不具有唯一权限。 |
| UnauthorizedAccessException | 当前用户没有足够的权限管理上父安全对象的权限。 |
备注
主体参数不能空引用(无 在 Visual Basic 中)。
RoleBindings参数不能空引用(无 在 Visual Basic 中)。它必须至少一个子集合中。
示例
此代码示例创建新的权限级别,并将用户添加到通知列表中具有该权限级别。
using System;
using Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointFoundation.Samples
{
class RoleAssignmentCollection_AddExample
{
static void Main()
{
string siteUrl = "http://MyServer/sites/MySiteCollection";
ClientContext clientContext = new ClientContext(siteUrl);
Site collSite = clientContext.Site;
Web site = clientContext.Web;
// Set up permissions.
BasePermissions permissions = new BasePermissions();
permissions.Set(PermissionKind.ViewListItems);
permissions.Set(PermissionKind.AddListItems);
permissions.Set(PermissionKind.EditListItems);
permissions.Set(PermissionKind.DeleteListItems);
// Create a new role definition.
RoleDefinitionCreationInformation rdcInfo = new RoleDefinitionCreationInformation();
rdcInfo.Name = "Manage List Items";
rdcInfo.Description = "Allows a user to manage list items";
rdcInfo.BasePermissions = permissions;
RoleDefinition roleDef = collSite.RootWeb.RoleDefinitions.Add(rdcInfo);
// Create a new RoleDefinitionBindingCollection object.
RoleDefinitionBindingCollection collRDB = new RoleDefinitionBindingCollection(clientContext);
// Add the role to the collection.
collRDB.Add(roleDef);
// Get the list to work with and break permissions so its permissions can be managed directly.
List targetList = site.Lists.GetByTitle("Announcements");
targetList.BreakRoleInheritance(true, false);
// Get the RoleAssignmentCollection for the target list.
RoleAssignmentCollection collRoleAssign = targetList.RoleAssignments;
// Add the user to the target list and assign the user to the new RoleDefinitionBindingCollection.
RoleAssignment rollAssign = collRoleAssign.Add(site.CurrentUser, collRDB);
clientContext.ExecuteQuery();
Console.WriteLine("Security modified");
}
}
}