SPWeb.DoesUserHavePermissions - Méthode (String, SPBasePermissions)
Indique si l'utilisateur spécifié a un jeu d'autorisations spécifié.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Function DoesUserHavePermissions ( _
login As String, _
permissionMask As SPBasePermissions _
) As Boolean
'Utilisation
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
)
Paramètres
login
Type : System.StringLe nom d'utilisateur (Domain\User_Alias).
permissionMask
Type : Microsoft.SharePoint.SPBasePermissionsCombinaison d'opérations de bits des valeurs d'énumération qui spécifie un jeu d'autorisations.
Valeur renvoyée
Type : System.Boolean
true si l'utilisateur possède les autorisations spécifiées ; dans le cas contraire, false.
Remarques
Cette méthode vérifie si les autorisations de permissionMask correspondent à celles retournées par GetUserEffectivePermissions(String).
L'utilisateur actuel doit disposer des droits de EnumeratePermissions pour vérifier les autorisations des autres utilisateurs.
Exemples
L'exemple suivant est une application console qui affiche une liste d'utilisateurs qui ont reçu explicitement l'autorisation pour gérer la liste sur le site Web en cours.
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();
}
}
}
Voir aussi
Référence
DoesUserHavePermissions - Surcharge