Compartilhar via


SPRoleCollection class

NOTE: This API is now obsolete.

Use em vez disso, as novas classes SPRoleDefinition e SPRoleAssignment para definir funções e atribuir usuários a elas. Para obter mais informações, consulte Changes in the Authorization Object Model. (Em Windows SharePoint Services 2,0, o SPRoleCollection representado uma coleção de objetos SPRole e é mantido para compatibilidade com versões anteriores.)

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPRoleCollection

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
<ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")> _
Public Class SPRoleCollection _
    Inherits SPBaseCollection
'Uso
Dim instance As SPRoleCollection
[ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")]
public class SPRoleCollection : SPBaseCollection

Comentários

Use a propriedade Roles da classe SPUser, SPGroupou SPWeb para retornar um objeto SPRoleCollection que representa a coleção de funções para um usuário, grupo ou site da Web. Use um indexador para retornar uma única função da coleção. Por exemplo, se a coleção for atribuída a uma variável chamada collRoles, use collRoles[index] em C# ou deindexde collRoles() no Visual Basic, onde index é o número de índice da função na coleção ou o nome de exibição do grupo de sites.

Examples

O exemplo de código a seguir adiciona todos os usuários de um site para uma função específica para todos os subsites abaixo do site.

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

For Each user In  users

    Dim subSite As SPWeb

    For Each subSite In  subSites

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

        role.AddUser(user)

    Next subSite

Next user 
using(SPWeb oWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
    SPWebCollection collWebsites = oWebsite.Webs;
    SPUserCollection collUsers = oWebsite.Users;

    foreach (SPUser oUser in collUsers)
    {
        foreach (SPWeb oWebsiteCurrent in collWebsites)
        {
            SPRole oRole = oWebsite.Roles["Role_Name"];
            oRole.AddUser(oUser);
            oWebsiteCurrent.Dispose();
        }
    }
}

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

SPRoleCollection members

Microsoft.SharePoint namespace