Метод Security.CheckUserProjectPermissions
Проверяет, имеет ли текущий пользователь одно или несколько разрешений категории безопасности для указанного проекта.
Пространство имен: WebSvcSecurity
Сборка: ProjectServerServices (в ProjectServerServices.dll)
Синтаксис
'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", 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 CheckUserProjectPermissions ( _
projectUid As Guid, _
categoryPermissionUids As Guid() _
) As Boolean()
'Применение
Dim instance As Security
Dim projectUid As Guid
Dim categoryPermissionUids As Guid()
Dim returnValue As Boolean()
returnValue = instance.CheckUserProjectPermissions(projectUid, _
categoryPermissionUids)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CheckUserProjectPermissions", 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[] CheckUserProjectPermissions(
Guid projectUid,
Guid[] categoryPermissionUids
)
Параметры
projectUid
Тип: System.GuidGUID проекта.
categoryPermissionUids
Тип: []Массив из одного или нескольких разрешение категории идентификаторов GUID.
Возвращаемое значение
Тип: []
Массив Boolean значения, соответствующие разрешения категории безопасности текущего пользователя для проекта.
Замечания
CheckUserProjectPermissions является оболочкой вызова CheckUserObjectPermissions. Чтобы проверить разрешения одной категории для проекта, можно использовать CheckUserProjectPermissions. Проверка разрешений категории для другого пользователя проекта, которым требуется использование олицетворения выполнить вход в качестве пользователя.
Для параметра categoryPermissionUids использовать структуру PSSecurityCategoryPermission , чтобы получить идентификаторы GUID для разрешения категории по умолчанию или используйте ReadCategoryPermissions , чтобы получить идентификаторы GUID для категории настраиваемых разрешений.
Разрешения Project Server
Разрешение |
Описание |
---|---|
Позволяет пользователю войти в Project Server. Глобальное разрешение. |
Примеры
В следующем примере проверяется, имеет ли текущий пользователь три specificcategory разрешения для существующего проекта. Дополнительные сведения и полный пример приложения в разделе С помощью методов безопасности в 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[] permissionChecks = {
PSLibrary.PSSecurityCategoryPermission.BuildTeamOnProject,
PSLibrary.PSSecurityCategoryPermission.SaveProtectedBaseline,
PSLibrary.PSSecurityCategoryPermission.ViewProjectWorkspace };
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