Compartilhar via


SPPermissionCollection.DoesUserHavePermissions method

NOTE: This API is now obsolete.

Retorna um valor que indica se o usuário atual tem permissões especificadas.

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

Syntax

'Declaração
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Function DoesUserHavePermissions ( _
    permissionMask As SPRights _
) As Boolean
'Uso
Dim instance As SPPermissionCollection
Dim permissionMask As SPRights
Dim returnValue As Boolean

returnValue = instance.DoesUserHavePermissions(permissionMask)
[ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")]
public bool DoesUserHavePermissions(
    SPRights permissionMask
)

Parâmetros

Valor retornado

Type: System.Boolean
true se o usuário atual possui as permissões especificadas; Caso contrário, gera uma exceção de acesso negado e solicita ao usuário para autenticação.

Comentários

Para impedir que o usuário seja solicitado para autenticação pelo método DoesUserHavePermissions , você pode definir a propriedade de CatchAccessDeniedException a SPSite ou a classe de SPVirtualServer para false e usar tratamento de erro para capturar a exceção.

Examples

O exemplo de código a seguir itera em todas as listas de um site e usa o método DoesUserHavePermissions para especificar listas para as quais o usuário atual tem permissões.

Dim siteCollection As New SPSite("http://Server_Name")
Dim site As SPWeb = siteCollection.OpenWeb()

siteCollection.CatchAccessDeniedException = False

Dim lists As SPListCollection = site.Lists
lists.ListsForCurrentUser = True
Dim listCount As Integer = lists.Count

Dim i As Integer

For i = 0 To listCount - 1
    Response.Write(("<br>" + lists(i).Title.ToString() + " : "))

    Try
        If lists(i).Permissions.DoesUserHavePermissions
                (SPRights.ViewListItems) Then
            Response.Write("Has Permissions")
        End If
    Catch ex As System.UnauthorizedAccessException
        Response.Write(ex.Message.ToString())
    End Try

Next i
using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
    SPWeb oWebsite = siteCollection.OpenWeb();
    oSiteCollection.CatchAccessDeniedException = false;

    SPListCollection collLists = oWebsite.Lists;
    collLists.ListsForCurrentUser = true;
    int intListCount = collLists.Count;

    for(int intIndex=0; intIndex<intListCount; intIndex++)
    {
        Response.Write("<br>" + colLLists[intIndex].Title.ToString() 
            + " : ");
        try 
        {
            if(collLists[intIndex].Permissions.DoesUserHavePermissions
                (SPRights.ViewListItems))
            {
                Response.Write("Has Permissions");
            }
        }

        catch(System.UnauthorizedAccessException ex) 
        {
            Response.Write(ex.Message.ToString());
        }
    }
}

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.

Ver também

Referência

SPPermissionCollection class

SPPermissionCollection members

Microsoft.SharePoint namespace