Freigeben über


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

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.

Siehe auch

Referenz

SPPermissionCollection Klasse

SPPermissionCollection-Member

Microsoft.SharePoint-Namespace