(String, SPBasePermissions) del método SPWeb.DoesUserHavePermissions
Indica si el usuario especificado tiene un conjunto de permisos especificado.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Function DoesUserHavePermissions ( _
login As String, _
permissionMask As SPBasePermissions _
) As Boolean
'Uso
Dim instance As SPWeb
Dim login As String
Dim permissionMask As SPBasePermissions
Dim returnValue As Boolean
returnValue = instance.DoesUserHavePermissions(login, _
permissionMask)
public bool DoesUserHavePermissions(
string login,
SPBasePermissions permissionMask
)
Parámetros
login
Tipo: System.StringEl nombre de usuario (Domain\User_Alias).
permissionMask
Tipo: Microsoft.SharePoint.SPBasePermissionsUna combinación bit a bit de valores de enumeración que especifica un conjunto de permisos.
Valor devuelto
Tipo: System.Boolean
true si el usuario tiene los permisos especificados; en caso contrario, false.
Comentarios
Este método comprueba si los permisos en permissionMask coinciden con los devueltos por GetUserEffectivePermissions(String).
El usuario actual debe tener derechos de EnumeratePermissions para comprobar los permisos de otros usuarios.
Ejemplos
En el siguiente ejemplo es una aplicación de consola que imprime una lista de los usuarios que se han asignado explícitamente permiso para administrar la lista en el sitio Web actual.
Imports System
Imports Microsoft.SharePoint
Module Test
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
' Make sure the current user can enumerate permissions.
If web.DoesUserHavePermissions(SPBasePermissions.EnumeratePermissions) Then
' Specify the permission to check.
Dim permissionToCheck As SPBasePermissions = SPBasePermissions.ManageLists
Console.WriteLine("The following users have {0} permission:", permissionToCheck)
' Check the permissions of users who are explicitly assigned permissions.
Dim users As SPUserCollection = web.Users
Dim user As SPUser
For Each user In users
Dim login As String = user.LoginName
If web.DoesUserHavePermissions(login, permissionToCheck) Then
Console.WriteLine(login)
End If
Next
End If
End Using
End Using
Console.ReadLine()
End Sub
End Module
using System;
using Microsoft.SharePoint;
namespace Test
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
// Make sure the current user can enumerate permissions.
if (web.DoesUserHavePermissions(SPBasePermissions.EnumeratePermissions))
{
// Specify the permission to check.
SPBasePermissions permissionToCheck = SPBasePermissions.ManageLists;
Console.WriteLine("The following users have {0} permission:", permissionToCheck);
// Check the permissions of users who are explicitly assigned permissions.
SPUserCollection users = web.Users;
foreach (SPUser user in users)
{
string login = user.LoginName;
if (web.DoesUserHavePermissions(login, permissionToCheck))
{
Console.WriteLine(login);
}
}
}
}
}
Console.ReadLine();
}
}
}
Vea también
Referencia
Sobrecarga DoesUserHavePermissions