Freigeben über


Security.CheckUserResourcePermissions-Methode

Überprüft, ob der aktuelle Benutzer eine oder mehrere der angegebenen Kategorie Sicherheitsberechtigungen für eine angegebene Ressource verfügt.

Namespace:  WebSvcSecurity
Assembly:  ProjectServerServices (in ProjectServerServices.dll)

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserResourcePermissions", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function CheckUserResourcePermissions ( _
    resourceUid As Guid, _
    categoryPermissionUids As Guid() _
) As Boolean()
'Usage
Dim instance As Security
Dim resourceUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()

returnValue = instance.CheckUserResourcePermissions(resourceUid, _
    categoryPermissionUids)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserResourcePermissions", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public bool[] CheckUserResourcePermissions(
    Guid resourceUid,
    Guid[] categoryPermissionUids
)

Parameter

  • categoryPermissionUids
    Typ: []

    Ein Array von mindestens Kategorieberechtigung GUIDs.

Rückgabewert

Typ: []
Ein Array von Boolean -Werten, die Kategorie Sicherheitsberechtigungen des aktuellen Benutzers für die Ressource entsprechen.

Hinweise

CheckUserResourcePermissions umschließt einen Aufruf von CheckUserObjectPermissions. Wenn für eine einzelne Kategorieberechtigung für eine Ressource überprüfen möchten, können Sie CheckUserResourcePermissionverwenden. Überprüfen einer Kategorieberechtigung für einen anderen Benutzer in einem Projekt erfordert Verwenden des Identitätswechsels als dieser Benutzer anmelden.

Verwenden Sie für den Parameter categoryPermissionUids die PSSecurityCategoryPermission -Struktur, um die GUIDs für die standardmäßige Kategorieberechtigungen zu erhalten, oder verwenden Sie ReadCategoryPermissions , um die GUIDs für benutzerdefinierte Kategorieberechtigungen zu erhalten.

Project Server-Berechtigungen

Berechtigung

Beschreibung

LogOn

Ermöglicht einem Benutzer zur Anmeldung bei Project Server. Die globale Berechtigung.

Beispiele

Im folgenden Beispiel wird überprüft, ob der aktuelle Benutzer drei verschiedenen Kategorieberechtigungen für eine vorhandene Ressource verfügt. Weitere Informationen und eine komplette Beispielanwendung finden Sie unter Mithilfe von Sicherheitsmethoden in die PSI.

using System;
using System.Net;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
CookieContainer cookiecontainer = new CookieContainer();
SvcSecurity.Security security = new SvcSecurity.Security();
security.Url = "https://ServerName/ProjectServerName/_vti_bin/psi/security.asmx";
security.CookieContainer = cookiecontainer;
security.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the GUID for an existing resource.
Guid resourceUid = new Guid("a1fcbf91-e91d-44e2-a4a7-3b4b698cb984");

Guid[] permissionChecks = { 
   PSLibrary.PSSecurityCategoryPermission.AssignResource, 
   PSLibrary.PSSecurityCategoryPermission.AdjustTimesheet, 
   PSLibrary.PSSecurityCategoryPermission.ViewResourceAssignmentsInAssignmentViews };

bool[] permissionResults = new bool[permissionChecks.Length];
permissionResults = security.CheckUserProjectPermissions(projectUid, permissionChecks);

bool permissionOk = true;

for (int i = 0; i < permissionResults.Length; i++)
{
   permissionOk = permissionOk && permissionResults[i];
}
if (permissionOk)
{
   // Continue the application.
}
. . .

Siehe auch

Referenz

Security Klasse

Security-Member

WebSvcSecurity-Namespace

Weitere Ressourcen

Verwenden von Sicherheitsmethoden in die PSI

Exemplarische Vorgehensweise: Erstellen und Verwenden von benutzerdefinierten Project Server-Berechtigungen