Clase SPRoleCollection

NOTA: esta API está ahora obsoleta.

Usar las nuevas clases SPRoleDefinition y SPRoleAssignment en su lugar, para definir las funciones y asignar usuarios a ellos. Para obtener más información, vea Changes in the Authorization Object Model. (En Windows SharePoint Services 2.0, SPRoleCollection representa una colección de objetos de SPRole y se mantiene por compatibilidad con versiones anteriores.)

Jerarquía de la herencia

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

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
<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

Comentarios

Utilice la propiedad Roles de la clase SPUser, SPGroupo SPWeb para devolver un objeto SPRoleCollection que representa la colección de funciones para un usuario, grupo o sitio Web. Utilice un indizador para devolver un único rol de la colección. Por ejemplo, si la colección se asigna a una variable denominada collRoles, use collRoles[index] en C# o collRoles(index) en Visual Basic, donde index es el número de índice de la función de la colección o el nombre para mostrar del grupo de sitio.

Ejemplos

En el ejemplo de código siguiente se agrega a todos los usuarios de un sitio a una función especificada para todos los subsitios en el sitio.

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();
        }
    }
}

Nota

Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SPRoleCollection

Espacio de nombres Microsoft.SharePoint