Поделиться через


Класс 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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPRoleAssignment

Пространство имен Microsoft.SharePoint