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.String

    Der Benutzername (domäne\benutzeralias).

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

SPWeb Klasse

SPWeb-Member

DoesUserHavePermissions-Überladung

Microsoft.SharePoint-Namespace

EnsureUser(String)