Compartir a través de


del método Security.CheckUserObjectPermissions

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

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

Sintaxis

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

Parámetros

  • objectTypeUid
    Tipo: System.Guid

    El GUID de un tipo de objeto.

  • categoryPermissionUids
    Tipo: []

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

Valor devuelto

Tipo: []
Una matriz de valores de Boolean para cada valor en el parámetro categoryPermissionUids .

Comentarios

Para evitar la especificación de la objectTypeUid, puede utilizar CheckUserProjectPermissions o CheckUserResourcePermissions en lugar de CheckUserObjectPermissions. Comprobación de un permiso de seguridad para otro recurso que requiere el uso de suplantación para iniciar sesión como ese recurso.

Para el parámetro objectTypeUid , utilice la estructura de PSSecurityObjectType para obtener el GUID para el tipo de objeto Project o Resource . Para el parámetro categoryPermissionUid , use la estructura de PSSecurityCategoryPermission para obtener los GUID de los permisos de categoría predeterminados 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 específica de un proyecto. 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 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.
}
. . .

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