Security.CreateTemplates método
Cria um ou mais modelos de segurança.
Namespace: WebSvcSecurity
Assembly: ProjectServerServices (em ProjectServerServices.dll)
Sintaxe
'Declaração
<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 _
)
'Uso
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
)
Parâmetros
templates
Tipo: WebSvcSecurity.SecurityTemplatesDataSetContém as informações sobre um ou mais modelos de segurança.
Comentários
O parâmetro templates deve conter pelo menos um SecurityTemplatesDataSet.SecurityTemplatesRow na tabela SecurityTemplates que define um novo modelo. O SecurityTemplatesDataTable pode conter vários objetos SecurityTemplatesRow . Project Server valida cada SecurityTemplatesRow para o seguinte:
- Nome do modelo exclusivo e GUID
Há três objetos DataTable em um SecurityTemplatesDataSet. Somente o SecurityTemplatesDataTable deve conter dados. As tabelas de dados estão em ordem, da seguinte maneira:
SecurityTemplates Cada linha especifica o GUID da categoria, nome e descrição. Somente o GUID e o nome (WSEC_TMPL_UID e WSEC_TMPL_NAME) são necessárias para criar uma categoria de segurança.
Permissões de categorias Opcional. Cada linha especifica o GUID do modelo e o GUID de permissão de categoria e define Allow ou Deny para que a permissão. Para obter informações sobre as permissões de categoria, consulte a estrutura PSSecurityCategoryPermission .
GlobalPermissions Opcional. Cada linha especifica o GUID do modelo e a permissão global GUID e define Allow ou Deny para que a permissão. Para obter informações sobre as permissões globais, consulte a estrutura PSSecurityGlobalPermission .
Para obter exemplos de modelos de válido, clique em um modelo na página Gerenciar modelos na Project Web App, para ver os campos e as configurações na página Adicionar ou Editar modelo.
Permissões do Project Server
Permissão |
Descrição |
---|---|
Permite que um usuário gerenciar a segurança do Project Server. Permissão global. |
Exemplos
O exemplo a seguir cria um modelo de segurança e adiciona uma permissão global que é definida como Allow para o grupo.
Para obter informações adicionais e um aplicativo de amostra básico para testar os métodos da classe Security , consulte Usando os métodos de segurança na PSI. Você pode adicionar o código a seguir para o aplicativo de teste.
/*
* 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);