SPPermissionCollection 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 SPRole representado uma coleção de objetos SPPermission e é mantido para compatibilidade com versões anteriores.)
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPPermissionCollection
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Class SPPermissionCollection _
Inherits SPBaseCollection
'Uso
Dim instance As SPPermissionCollection
[ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")]
public class SPPermissionCollection : SPBaseCollection
Comentários
Use a propriedade Permissions da classe a SPList ou SPWeb para retornar a coleção de permissões para um site ou uma lista. Para criar uma permissão, use o Add ou o AddCollection método SPPermissionCollection.
Use um indexador para retornar uma única permissão da coleção. Por exemplo, se a coleção for atribuída a uma variável chamada collPermissions, use collPermissions[index] em C# ou deindexde collPermissions() no Visual Basic, onde index é o número de índice da permissão da coleção ou o objeto SPMember para um usuário ou grupo que tenha a permissão para a lista ou o site.
Examples
O exemplo de código a seguir usa a classe SPPermissionCollection para exibir o nome e as permissões para cada usuário que tem acesso a uma lista especificada. O exemplo itera por meio de todos os usuários de um site e todas as permissões para uma lista; Se uma ID do usuário coincidir com a identificação de membro de uma permissão de lista, informações do usuário são exibidas.
Este exemplo requer diretivas de using (Imports no Visual Basic) para os namespaces de**[Microsoft.SharePoint.Utilities]** de [Microsoft.SharePoint] e .
Dim siteCollection As SPSite = SPContext.Current.Site
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")
Dim list As SPList = site.Lists("List_Name")
Dim perms As SPPermissionCollection = list.Permissions
Dim users As SPUserCollection = site.Users
Dim user As SPUser
For Each user In users
Dim perm As SPPermission
For Each perm In perms
If user.ID = perm.Member.ID Then
Response.Write("User: " & SPEncode.HtmlEncode(user.Name) _
& " Permissions: " & perm.PermissionMask.ToString()
& "<BR>")
End If
Next perm
Next user
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
SPList oList = oWebsite.Lists["List_Name"];
SPPermissionCollection collPermissions = oList.Permissions;
SPUserCollection collUsers = oWebsite.Users;
foreach (SPUser oUser in collUsers)
{
foreach (SPPermission oPermission in collPermissions)
{
if (oUser.ID == oPermission.Member.ID)
{
Response.Write("User: " +
SPEncode.HtmlEncode(oUser.Name) +
" Permissions: " +
oPermission.PermissionMask.ToString() +
"<BR>");
}
}
}
}
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.