Compartir a través de


del método Security.CheckUserResourcePermissions

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

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

Sintaxis

'Declaración
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserResourcePermissions", 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 CheckUserResourcePermissions ( _
    resourceUid As Guid, _
    categoryPermissionUids As Guid() _
) As Boolean()
'Uso
Dim instance As Security
Dim resourceUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()

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

Comentarios

CheckUserResourcePermissions ajusta una llamada a CheckUserObjectPermissions. Para comprobar si un permiso de categoría única para un recurso, puede usar CheckUserResourcePermission. 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 tres permisos de categoría diferente para un recurso 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 resource.
Guid resourceUid = new Guid("a1fcbf91-e91d-44e2-a4a7-3b4b698cb984");

Guid[] permissionChecks = { 
   PSLibrary.PSSecurityCategoryPermission.AssignResource, 
   PSLibrary.PSSecurityCategoryPermission.AdjustTimesheet, 
   PSLibrary.PSSecurityCategoryPermission.ViewResourceAssignmentsInAssignmentViews };

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