Freigeben über


Security.CheckUserObjectPermissions-Methode

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

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

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserObjectPermissions", 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 CheckUserObjectPermissions ( _
    objectUid As Guid, _
    objectTypeUid As Guid, _
    categoryPermissionUids As Guid() _
) As Boolean()
'Usage
Dim instance As Security
Dim objectUid As Guid
Dim objectTypeUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()

returnValue = instance.CheckUserObjectPermissions(objectUid, _
    objectTypeUid, categoryPermissionUids)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserObjectPermissions", 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[] CheckUserObjectPermissions(
    Guid objectUid,
    Guid objectTypeUid,
    Guid[] categoryPermissionUids
)

Parameter

  • objectTypeUid
    Typ: System.Guid

    Die GUID der einen Objekttyp.

  • categoryPermissionUids
    Typ: []

    Ein Array von mindestens Kategorieberechtigung GUIDs.

Rückgabewert

Typ: []
Ein Array von Boolean -Werten für jeden Wert in der categoryPermissionUids -Parameter.

Hinweise

Um zu vermeiden, die objectTypeUidangeben, können Sie anstelle von CheckUserObjectPermissionsCheckUserProjectPermissions oder CheckUserResourcePermissions . Überprüfen einer CAS-Berechtigung für eine andere Ressource erfordert Verwenden des Identitätswechsels als diese Ressource anmelden.

Verwenden Sie für den Parameter objectTypeUid die PSSecurityObjectType -Struktur, um die GUID für den Objekttyp Project oder Resource zu erhalten. Der Parameter categoryPermissionUid verwenden Sie die PSSecurityCategoryPermission -Struktur, um die GUIDs der standardmäßigen Kategorieberechtigungen abzurufen oder verwenden Sie ReadCategoryPermissions , um die GUIDs für benutzerdefinierte Kategorieberechtigungen 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 bestimmten Kategorieberechtigungen für ein Projekt 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 project.
Guid projectUid = new Guid("BC323C21-B7E4-4631-AF99-C44E5C52BA4E");
Guid objectType = PSLibrary.PSSecurityObjectType.Project;

Guid[] permissionChecks = { 
   PSLibrary.PSSecurityCategoryPermission.BuildTeamOnProject, 
   PSLibrary.PSSecurityCategoryPermission.SaveProtectedBaseline, 
   PSLibrary.PSSecurityCategoryPermission.ViewProjectWorkspace };

bool[] permissionResults = new bool[permissionChecks.Length];
permissionResults = security.CheckUserObjectPermissions(projectUid, objectType, 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