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