Compartilhar via


Security.CheckUserResourcePermissions método

Verifica se o usuário atual tem uma ou mais das permissões de categoria de segurança especificado para um recurso especificado.

Namespace:  WebSvcSecurity
Assembly:  ProjectServerServices (em ProjectServerServices.dll)

Sintaxe

'Declaração
<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: []

    Uma matriz de uma ou mais permissões de categoria GUIDs.

Valor retornado

Tipo: []
Uma matriz de valores de Boolean que correspondem às permissões de categoria de segurança do usuário atual para o recurso.

Comentários

CheckUserResourcePermissions ajusta uma chamada para CheckUserObjectPermissions. Para verificar uma permissão de categoria único para um recurso, você pode usar CheckUserResourcePermission. Verificar uma permissão de categoria para outro usuário em um projeto requer usando a representação para fazer logon como esse usuário.

Para o parâmetro categoryPermissionUids , use a estrutura de PSSecurityCategoryPermission para obter os GUIDs de permissões de categoria padrão ou use ReadCategoryPermissions para obter os GUIDs de permissões de categoria personalizada.

Permissões do Project Server

Permissão

Descrição

LogOn

Permite que um usuário faça logon no Project Server. Permissão global.

Exemplos

O exemplo a seguir verifica se o usuário atual tem três permissões de categoria diferente para um recurso existente. Para obter informações adicionais e um aplicativo de exemplo completo, consulte Usando os métodos de segurança na 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.
}
. . .

Ver também

Referência

Security classe

Security membros

WebSvcSecurity namespace

Outros recursos

Usando métodos de segurança na PSI

Passo a passo: Criando e usando o sinalizador permissões do Project Server