Security.CreateTemplates 方法
會建立一或多個安全性範本。
命名空間: WebSvcSecurity
組件: ProjectServerServices (在 ProjectServerServices.dll 中)
語法
'宣告
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CreateTemplates", 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 Sub CreateTemplates ( _
templates As SecurityTemplatesDataSet _
)
'用途
Dim instance As Security
Dim templates As SecurityTemplatesDataSet
instance.CreateTemplates(templates)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CreateTemplates", 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 void CreateTemplates(
SecurityTemplatesDataSet templates
)
參數
templates
類型:WebSvcSecurity.SecurityTemplatesDataSet會包含一或多個安全性範本的相關資訊。
備註
templates參數必須包含至少一個SecurityTemplatesDataSet.SecurityTemplatesRowSecurityTemplates表定義新的範本。SecurityTemplatesDataTable可以包含多個SecurityTemplatesRow物件。Project Server 驗證下列每個SecurityTemplatesRow :
- 唯一的範本名稱] 和 [GUID
SecurityTemplatesDataSet有三種DataTable物件。僅限SecurityTemplatesDataTable必須包含的資料。資料表格的順序,,如下所示:
SecurityTemplates每個資料列會指定類別的 GUID、 名稱和描述。只有 GUID 和名稱 (WSEC_TMPL_UID 和 WSEC_TMPL_NAME),才能建立安全性類別。
CategoryPermissions選用的。每個資料列會指定範本的 GUID 和類別權限的 GUID,並設定Allow或Deny權限。如需類別權限的資訊,請參閱 < PSSecurityCategoryPermission結構。
GlobalPermissions選用的。每個資料列會指定 GUID 的範本和通用權限的 GUID,並設定Allow或Deny權限。如需通用權限的資訊,請參閱 < PSSecurityGlobalPermission結構。
如需有效的範本的範例,按一下 [範本Project Web App,在 [管理範本] 頁面上,請參閱 < 欄位並設定 [新增或編輯範本] 頁面。
Project Server 權限
權限 |
描述 |
---|---|
可讓使用者管理 Project Server 安全性。通用權限。 |
範例
下列範例會建立安全性範本,並將設為Allow群組] 通用權限。
如需其他資訊及測試Security類別方法的基本範例應用程式,請參閱 <使用安全性方法中的 PSI。您可以將下列程式碼新增至測試應用程式。
/*
* Add this code to the sample application code in the article
* Using Security Methods in the PSI.
*/
// Create a GUID for the new template.
Guid templateGuid = Guid.NewGuid();
// Specify basic template information.
SvcSecurity.SecurityTemplatesDataSet templateDs =
new SvcSecurity.SecurityTemplatesDataSet();
SvcSecurity.SecurityTemplatesDataSet.SecurityTemplatesRow templateRow =
templateDs.SecurityTemplates.NewSecurityTemplatesRow();
templateRow.WSEC_TMPL_NAME = "SDK Test Template";
templateRow.WSEC_TMPL_UID = templateGuid;
templateRow.WSEC_TMPL_DESC = "This is the SDK Test Template.";
templateDs.SecurityTemplates.AddSecurityTemplatesRow(templateRow);
// Specify a global permission for the template.
SvcSecurity.SecurityTemplatesDataSet.GlobalPermissionsRow globalPermissionRow =
templateDs.GlobalPermissions.NewGlobalPermissionsRow();
globalPermissionRow.WSEC_TMPL_UID = templateGuid;
// Add a permission that applies to the group.
// For example, add the "About Microsoft Office Project Server" permission.
globalPermissionRow.WSEC_FEA_ACT_UID =
PSLibrary.PSSecurityGlobalPermission.AboutMicrosoftOfficeProjectServer;
globalPermissionRow.WSEC_ALLOW = true;
templateDs.GlobalPermissions.AddGlobalPermissionsRow(globalPermissionRow);
// Now that the rows are added to the relevant tables, create the template.
security.CreateTemplates(templateDs);