Compartir a través de


del método SPPermissionCollection.DoesUserHavePermissions

NOTA: esta API está ahora obsoleta.

Devuelve un valor que indica si el usuario actual tiene los permisos especificados.

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

Sintaxis

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

Tipo: System.Boolean
true si el usuario actual tiene los permisos especificados; de lo contrario, se produce una excepción de acceso denegado y solicita al usuario para la autenticación.

Comentarios

Para evitar que el usuario que se le pida la autenticación mediante el método DoesUserHavePermissions , puede establecer la propiedad CatchAccessDeniedException de la SPSite o la clase de SPVirtualServer a false y usar el control de errores para capturar la excepción.

Ejemplos

En el ejemplo de código siguiente se recorre en iteración todas las listas de un sitio y se usa el método DoesUserHavePermissions para especificar que el usuario actual tiene permisos de listas.

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

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.

Vea también

Referencia

clase SPPermissionCollection

Miembros SPPermissionCollection

Espacio de nombres Microsoft.SharePoint