Метод Security.CheckUserResourcePermissions
Проверяет, имеет ли текущий пользователь одно или несколько разрешений категории безопасности для указанного ресурса.
Пространство имен: WebSvcSecurity
Сборка: ProjectServerServices (в ProjectServerServices.dll)
Синтаксис
'Декларация
<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()
'Применение
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
)
Параметры
resourceUid
Тип: System.GuidGUID ресурса.
categoryPermissionUids
Тип: []Массив из одного или нескольких разрешение категории идентификаторов GUID.
Возвращаемое значение
Тип: []
Массив Boolean значения, соответствующие разрешения категории безопасности текущего пользователя для ресурса.
Замечания
CheckUserResourcePermissions является оболочкой вызова CheckUserObjectPermissions. Чтобы проверить наличие разрешений одной категории для ресурса, можно использовать CheckUserResourcePermission. Проверка разрешений категории для другого пользователя проекта, которым требуется использование олицетворения выполнить вход в качестве пользователя.
Для параметра categoryPermissionUids использовать структуру PSSecurityCategoryPermission , чтобы получить идентификаторы GUID для разрешения категории по умолчанию или используйте ReadCategoryPermissions , чтобы получить идентификаторы GUID для категории настраиваемых разрешений.
Разрешения Project Server
Разрешение |
Описание |
---|---|
Позволяет пользователю войти в 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;
// 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.
}
. . .
См. также
Справочные материалы
Пространство имен WebSvcSecurity
Другие ресурсы
С помощью методов безопасности в PSI (en)
Пошаговое руководство: Создание и использование настраиваемые разрешения Project Server