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


Класс SPRole

Примечание. Этот API устарел.

Вместо этого воспользуйтесь новыми классами, SPRoleDefinition и SPRoleAssignment для определения ролей и назначать их пользователям. Дополнительные сведения содержатся в разделе Changes in the Authorization Object Model. (В Windows SharePoint Services 2.0SPRole представлены группы узла и сохраняется для обеспечения обратной совместимости.)

Иерархия наследования

System.Object
  Microsoft.SharePoint.SPMember
    Microsoft.SharePoint.SPRole

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
<ObsoleteAttribute("Use the SPRoleDefinition class instead")> _
Public Class SPRole _
    Inherits SPMember
'Применение
Dim instance As SPRole
[ObsoleteAttribute("Use the SPRoleDefinition class instead")]
public class SPRole : SPMember

Замечания

Возвращает объект SPRoleCollection , представляющий коллекцию ролей и определения ролей для пользователя, группы или веб-узла, используйте свойство Roles класса SPUser, SPGroupили SPWeb . Используйте индексатор для получения одной роли из коллекции. Например если коллекция присваивается переменной с именем collRoles, используйтеindexcollRoles[] в C# илиindexcollRoles() в Visual Basic, где index является индексом роли в коллекции или отображаемое имя роли.

Каждой роли или определение роли имеет идентификатор уникального элемента (свойствоID ), имеет разрешения, связанные с членством и может быть представлено объектом SPMember .

В следующем примере присваивается роль в объект SPMember .

Dim myMember As SPMember = site.Roles("Role_Name")
SPMember oMember = oWebsite.Roles["Role_Name"];

Для выполнения административных задач, которые влияют на параметры для всех веб-приложений в ферме серверов, пользователь должен быть членом группы администраторов SharePoint.

Не удается изменить или удалить роли Administrator и Guest .

Общие сведения о ролях и безопасности содержатся в разделе Security, Users, and Groups in Windows SharePoint Services.

Для получения сведений о роли по умолчанию, доступных в SharePoint FoundationSPRoleType см.

Примеры

В следующем примере кода Удаляет указанного пользователя из роли во всех дочерних на узле.

Dim site As SPWeb = 
    SPContext.Current.Site.AllWebs("Site_Name")
Dim subSites As SPWebCollection = site.Webs
Dim user As SPUser = site.Users("User_Name")
Dim subSite As SPWeb

For Each subSite In  subSites

    Dim role As SPRole = subSite.Roles("Role_Name")

    role.RemoveUser(user)

Next subSite
using(SPWeb oParentWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
    SPWebCollection collWebsites = oParentWebsite.Webs;
    SPUser oUser = oParentWebsite.Users["User_Name"];

    foreach (SPWeb oWebsite in collWebsites)
    {
        SPRole oRole = oWebsite.Roles["Role_Name"];
        oRole.RemoveUser(oUser);

        oWebsite.Dispose();
    }
}

Примечание

Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

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

Элементы SPRole

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