Partager via


Security.CheckUserObjectPermissions - Méthode

Vérifie si l'utilisateur actuel possède une ou plusieurs des autorisations de catégorie de sécurité spécifié pour un objet de ressource ou un projet.

Espace de noms :  WebSvcSecurity
Assembly :  ProjectServerServices (dans ProjectServerServices.dll)

Syntaxe

'Déclaration
<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()
'Utilisation
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
)

Paramètres

  • objectTypeUid
    Type : System.Guid

    Le GUID d'un type d'objet.

  • categoryPermissionUids
    Type : []

    Tableau d'au moins une autorisation de catégorie GUID.

Valeur renvoyée

Type : []
Tableau de valeurs Boolean pour chaque valeur dans le paramètre categoryPermissionUids .

Remarques

Pour éviter de spécifier le objectTypeUid, vous pouvez utiliser CheckUserProjectPermissions ou CheckUserResourcePermissions au lieu de CheckUserObjectPermissions. Vérification d'une autorisation de sécurité pour les ressources d'un autre, vous devez utiliser l'emprunt d'identité pour ouvrir une session en tant que ressource.

Pour le paramètre objectTypeUid , utilisez la structure PSSecurityObjectType pour obtenir le GUID pour le type d'objet Project ou Resource . Pour le paramètre categoryPermissionUid , utilisez la structure PSSecurityCategoryPermission pour obtenir les GUID les autorisations de catégorie par défaut, ou ReadCategoryPermissions pour obtenir les GUID pour les autorisations de catégorie personnalisée.

Autorisations Project Server

Autorisation

Description

LogOn

Permet à un utilisateur de se connecter à Project Server. Autorisation globale.

Exemples

L'exemple suivant vérifie si l'utilisateur actuel possède trois différentes autorisations de catégorie pour un projet. Pour plus d'informations et un exemple d'application complète, reportez-vous à l'aide des méthodes de sécurité dans l'interface 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.
}
. . .

Voir aussi

Référence

Security classe

Security - Membres

WebSvcSecurity - Espace de noms

Autres ressources

À l'aide des méthodes de sécurité dans l'interface PSI

Procédure pas à pas : création et utilisation des fichiers personnalisés autorisations Project Server