Класс SPRoleAssignment
Определяет назначение ролей для пользователя или группы для текущего объекта.
Иерархия наследования
System.Object
Microsoft.SharePoint.SPRoleAssignment
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public NotInheritable Class SPRoleAssignment
'Применение
Dim instance As SPRoleAssignment
public sealed class SPRoleAssignment
Замечания
Чтобы предоставить пользователю или группе разрешения на защищаемый объект содержимого, создать объект назначения роли, задать пользователя или группу для назначения ролей, определений ролей, соответствующих и добавить объект в коллекцию назначений ролей для защищаемого объекта.
Свойство RoleAssignmentsISecurableObject интерфейса или класса SPList, SPListItemили SPWeb для возврата коллекции назначения ролей для данного объекта.
Указатель служит для получения одного элемента из коллекции. Например если коллекция присваивается переменной с именем collRoleAssignments, используйтеindexcollRoleAssignments[] в C# илиindexcollRoleAssignments() в Visual Basic, где index является индекс элемента в коллекции или строка, содержащая имя определения роли.
Примеры
В следующем примере кода создается назначение ролей для пользователя, добавляет новое определение роли для определения связанных ролей для назначения ролей и затем добавляет новые назначения ролей в коллекцию назначений ролей для веб-узла.
using(SPWeb oWebsite = SPContext.Current.Site.AllWebs["Subsite_Name"])
{
SPRoleDefinitionCollection collRoleDefinitions = oWebsite.RoleDefinitions;
SPRoleAssignmentCollection collRoleAssignments = oWebsite.RoleAssignments;
SPRoleAssignment oRoleAssignment = new
SPRoleAssignment("DOMAIN\\User_Alias","User_Alias@Somewhere.com","Displ
ay_Name","Notes");
SPRoleDefinitionBindingCollection collRoleDefinitionBindings = oRoleAssignment.RoleDefinitionBindings;
collRoleDefinitionBindings.Add(collRoleDefinitions["Role_Definition_Name"]);
collRoleAssignments.Add(oRoleAssignment);
}
Using oWebsite As SPWeb = SPContext.Current.Site.AllWebs("Subsite_Name")
Dim collRoleDefinitions As SPRoleDefinitionCollection = oWebsite.RoleDefinitions
Dim collRoleAssignments As SPRoleAssignmentCollection = oWebsite.RoleAssignments
Dim oRoleAssignment As New SPRoleAssignment("DOMAIN\User_Alias","User_Alias@Somewhere.com","Displ ay_Name","Notes")
Dim collRoleDefinitionBindings As SPRoleDefinitionBindingCollection = oRoleAssignment.RoleDefinitionBindings
collRoleDefinitionBindings.Add(collRoleDefinitions("Role_Definition_Name"))
collRoleAssignments.Add(oRoleAssignment)
End Using
Примечание
Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.