Compartir a través de


del método Security.CheckUserProjectPermissions

Comprueba si el usuario actual tiene uno o varios de los permisos de categoría de seguridad especificado para un proyecto específico.

Espacio de nombres:  WebSvcSecurity
Ensamblado:  ProjectServerServices (en ProjectServerServices.dll)

Sintaxis

'Declaración
<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()
'Uso
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
)

Parámetros

  • categoryPermissionUids
    Tipo: []

    Una matriz de uno o más permisos de categoría GUID.

Valor devuelto

Tipo: []
Una matriz de valores de Boolean que se corresponden con los permisos de categoría de seguridad del usuario actual para el proyecto.

Comentarios

CheckUserProjectPermissions ajusta una llamada a CheckUserObjectPermissions. Para comprobar un permiso de categoría única para un proyecto, puede utilizar CheckUserProjectPermissions. Comprobación de un permiso de categoría de otro usuario en un proyecto requiere el uso de suplantación para iniciar sesión como ese usuario.

Para el parámetro categoryPermissionUids , use la estructura de PSSecurityCategoryPermission para obtener los GUID para los permisos de categoría predeterminada o use ReadCategoryPermissions para obtener los GUID para los permisos de categoría personalizada.

Permisos de Project Server

Permiso

Descripción

LogOn

Permite que un usuario inicie sesión en Project Server. Permiso global.

Ejemplos

En el siguiente ejemplo se comprueba si el usuario actual tiene permisos de tres specificcategory para un proyecto existente. Para obtener información adicional y una aplicación de ejemplo completo, vea Uso de métodos de seguridad en la interfaz 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.
}
. . .

Vea también

Referencia

clase Security

Miembros Security

Espacio de nombres WebSvcSecurity

Otros recursos

Uso de métodos de seguridad en la interfaz PSI

Tutorial: creación y uso de Custom permisos de Project Server