共用方式為


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
)

參數

  • categoryPermissionUids
    類型:[]

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

傳回值

類型:[]
會對應至目前使用者之資源的安全性類別權限的Boolean值的陣列。

備註

CheckUserResourcePermissions換行CheckUserObjectPermissions呼叫。若要檢查資源的單一類別權限,您可以使用CheckUserResourcePermission。檢查專案上的另一位使用者的類別權限時,需要使用模擬的使用者身分登入。

categoryPermissionUids參數,請使用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 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.
}
. . .

請參閱

參照

Security 類別

Security 成員

WebSvcSecurity 命名空間

其他資源

使用 PSI 中的安全性方法

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