Compartilhar via


Security.CheckUserObjectPermissions método

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

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

Sintaxe

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

    O GUID de um tipo de objeto.

  • categoryPermissionUids
    Tipo: []

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

Valor retornado

Tipo: []
Uma matriz de valores de Boolean para cada valor no parâmetro categoryPermissionUids .

Comentários

Para evitar a especificação de objectTypeUid, você pode usar CheckUserProjectPermissions ou CheckUserResourcePermissions , em vez de CheckUserObjectPermissions. Verificar uma permissão de segurança para outro recurso exige o uso de representação fazer logon como esse recurso.

Para o parâmetro objectTypeUid , use a estrutura de PSSecurityObjectType para obter o GUID para o tipo de objeto Project ou Resource . Para o parâmetro categoryPermissionUid , 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 específica de um projeto. 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 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.
}
. . .

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