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.Guid專案的 GUID。
categoryPermissionUids
類型:[]一或多個類別權限的 Guid 陣列。
傳回值
類型:[]
會對應至專案的目前使用者的安全性類別權限的Boolean值的陣列。
備註
CheckUserProjectPermissions換行CheckUserObjectPermissions呼叫。若要檢查專案的單一類別權限,您可以使用CheckUserProjectPermissions。檢查專案上的另一位使用者的類別權限時,需要使用模擬的使用者身分登入。
categoryPermissionUids參數,請使用PSSecurityCategoryPermission結構來取得之 Guid 的預設類別權限,或使用ReadCategoryPermissions來取得之 Guid 的自訂類別權限。
Project Server 權限
權限 |
Description |
---|---|
可讓使用者登入 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.
}
. . .