SPWeb.DoesUserHavePermissions-Methode (String, SPBasePermissions)
Gibt an, ob der angegebene Benutzer einen angegebenen Satz von Berechtigungen verfügt.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Function DoesUserHavePermissions ( _
login As String, _
permissionMask As SPBasePermissions _
) As Boolean
'Usage
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
)
Parameter
login
Typ: System.StringDer Benutzername (domäne\benutzeralias).
permissionMask
Typ: Microsoft.SharePoint.SPBasePermissionsEine bitweise Kombination der Enumerationswerte, die einen Satz von Berechtigungen angibt.
Rückgabewert
Typ: System.Boolean
true wenn der Benutzer die angegebenen Berechtigungen verfügt; andernfalls false.
Hinweise
Diese Methode überprüft, ob die Berechtigungen in permissionMask die von GetUserEffectivePermissions(String)zurückgegebenen übereinstimmen.
Der aktuelle Benutzer benötigen EnumeratePermissions Zugriffsrechte für die Berechtigungen von anderen Benutzern zu überprüfen.
Beispiele
Im folgende Beispiel wird eine Konsolenanwendung, die druckt eine Liste von Benutzern, die explizit Berechtigung zum Verwalten der Liste auf der aktuellen Website zugewiesen wurde.
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();
}
}
}
Siehe auch
Referenz
DoesUserHavePermissions-Überladung