Поделиться через


Метод Security.CheckUserObjectPermission

Проверяет, имеет ли текущий пользователь одного указанного разрешения для объекта проекту или ресурсу.

Пространство имен:  WebSvcSecurity
Сборка:  ProjectServerServices (в ProjectServerServices.dll)

Синтаксис

'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserObjectPermission", 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 CheckUserObjectPermission ( _
    objectUid As Guid, _
    objectTypeUid As Guid, _
    categoryPermissionUid As Guid _
) As Boolean
'Применение
Dim instance As Security
Dim objectUid As Guid
Dim objectTypeUid As Guid
Dim categoryPermissionUid As Guid
Dim returnValue As Boolean

returnValue = instance.CheckUserObjectPermission(objectUid, _
    objectTypeUid, categoryPermissionUid)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserObjectPermission", 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 CheckUserObjectPermission(
    Guid objectUid,
    Guid objectTypeUid,
    Guid categoryPermissionUid
)

Параметры

  • objectTypeUid
    Тип: System.Guid

    GUID типа объекта.

  • categoryPermissionUid
    Тип: System.Guid

    GUID разрешение категории безопасности.

Возвращаемое значение

Тип: System.Boolean
True , если текущий пользователь имеет разрешение; в противном случае — false.

Замечания

Чтобы избежать указание objectTypeUid, можно использовать CheckUserProjectPermission или CheckUserResourcePermission вместо CheckUserObjectPermission.

Чтобы проверить несколько разрешения для объекта, используйте CheckUserObjectPermissions, CheckUserProjectPermissionsили CheckUserResourcePermissions для повышения производительности. Проверка разрешений безопасности для другого ресурса требуется использование олицетворения выполнить вход в качестве ресурса.

Для параметра objectTypeUid используйте структуру PSSecurityObjectType для получения идентификатора GUID для типа объекта Project или Resource . Для параметра categoryPermissionUid используйте структуру PSSecurityCategoryPermission , чтобы получить идентификатор GUID для одного разрешения категории по умолчанию, или используйте ReadCategoryPermissions , чтобы получить идентификатор GUID для разрешение настраиваемые категории.

Разрешения Project Server

Разрешение

Описание

LogOn

Позволяет пользователю войти в Project Server. Глобальное разрешение.

Примеры

В следующем примере проверяется, имеет ли текущий пользователь разрешения на «Назначение ресурсов» для определенного ресурса. Дополнительные сведения и полный пример приложения в разделе С помощью методов безопасности в 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;

// Check whether the user has the "Assign Resource" permission for a resource.
// Set the GUID for an existing resource.
Guid resourceUid = new Guid("a1fcbf91-e91d-44e2-a4a7-3b4b698cb984");
Guid resourceType = PSLibrary.PSSecurityObjectType.Resource;
Guid categoryPermission = PSLibrary.PSSecurityCategoryPermission.AssignResource;

bool hasAssignResourcePermission = 
   security.CheckUserObjectPermission(resourceUid, resourceType, categoryPermission);
. . .

См. также

Справочные материалы

Security класс

Элементы Security

Пространство имен WebSvcSecurity

Другие ресурсы

С помощью методов безопасности в PSI (en)

Пошаговое руководство: Создание и использование настраиваемые разрешения Project Server