共用方式為


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
)

參數

  • objectTypeUid
    類型:System.Guid

    物件類型的 GUID。

  • categoryPermissionUids
    類型:[]

    一或多個類別權限的 Guid 陣列。

傳回值

類型:[]
categoryPermissionUids參數中的每個值的Boolean值的陣列。

備註

若要避免指定objectTypeUid,您可以使用CheckUserProjectPermissionsCheckUserResourcePermissions ,而不是CheckUserObjectPermissions。檢查另一個資源的安全性權限時,需要使用模擬該資源身分登入。

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;

// 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.
}
. . .

請參閱

參照

Security 類別

Security 成員

WebSvcSecurity 命名空間

其他資源

使用 PSI 中的安全性方法

逐步解說: 建立和使用自訂 Project Server 權限