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 table 中定义的新模板。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);