Security.CheckUserProjectPermissions-Methode
Überprüft, ob der aktuelle Benutzer eine oder mehrere der angegebenen Kategorie Sicherheitsberechtigungen für ein angegebenes Projekt verfügt.
Namespace: WebSvcSecurity
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", 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 CheckUserProjectPermissions ( _
projectUid As Guid, _
categoryPermissionUids As Guid() _
) As Boolean()
'Usage
Dim instance As Security
Dim projectUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()
returnValue = instance.CheckUserProjectPermissions(projectUid, _
categoryPermissionUids)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", 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[] CheckUserProjectPermissions(
Guid projectUid,
Guid[] categoryPermissionUids
)
Parameter
projectUid
Typ: System.GuidDie GUID des Projekts.
categoryPermissionUids
Typ: []Ein Array von mindestens Kategorieberechtigung GUIDs.
Rückgabewert
Typ: []
Ein Array von Boolean -Werten, die Kategorie Sicherheitsberechtigungen des aktuellen Benutzers für das Projekt entsprechen.
Hinweise
CheckUserProjectPermissions umschließt einen Aufruf von CheckUserObjectPermissions. Um eine einzelne Kategorieberechtigung für ein Projekt zu überprüfen, können Sie CheckUserProjectPermissionsverwenden. Ü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 |
---|---|
Ermöglicht einem Benutzer zur Anmeldung bei Project Server. Die globale Berechtigung. |
Beispiele
Im folgenden Beispiel wird überprüft, ob der aktuelle Benutzer drei Specificcategory Berechtigungen für ein vorhandenes 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[] permissionChecks = {
PSLibrary.PSSecurityCategoryPermission.BuildTeamOnProject,
PSLibrary.PSSecurityCategoryPermission.SaveProtectedBaseline,
PSLibrary.PSSecurityCategoryPermission.ViewProjectWorkspace };
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.
}
. . .