SPPermissionCollection.DoesUserHavePermissions-Methode
HINWEIS: Diese API ist veraltet.
Gibt einen Wert, der angibt, ob der aktuelle Benutzer die angegebenen Berechtigungen verfügt.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Function DoesUserHavePermissions ( _
permissionMask As SPRights _
) As Boolean
'Usage
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
)
Parameter
permissionMask
Typ: Microsoft.SharePoint.SPRightsEin SPRights -Wert, der die Berechtigungen angibt.
Rückgabewert
Typ: System.Boolean
true , wenn der aktuelle Benutzer die angegebenen Berechtigungen verfügt; anderenfalls löst eine Ausnahme Zugriff verweigert und fordert den Benutzer für die Authentifizierung.
Hinweise
Um zu verhindern, dass den Benutzer für die Authentifizierung von der DoesUserHavePermissions -Methode aufgefordert wird, können Sie die CatchAccessDeniedException -Eigenschaft der SPVirtualServer Klasse oder die SPSite auf false festgelegt und Fehlerbehandlung zum Erfassen der Ausnahme verwenden.
Beispiele
Im folgenden Codebeispiel wird allen Listen einer Website durchlaufen, und es wird die DoesUserHavePermissions -Methode verwendet, um Listen angeben, für die der aktuelle Benutzer Berechtigungen verfügt.
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());
}
}
}
Hinweis
Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, wenn sie nicht mehr benötigt werden. Informationen zu bewährten Codierung finden Sie unter Disposing Objects.