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.