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
objectUid
Typ: System.GuidDie GUID eines Objekts.
objectTypeUid
Typ: System.GuidDie 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 |
---|---|
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.
}
. . .