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.