Partager via


Security.CreateTemplates - Méthode

Crée un ou plusieurs modèles de sécurité.

Espace de noms :  WebSvcSecurity
Assembly :  ProjectServerServices (dans ProjectServerServices.dll)

Syntaxe

'Déclaration
<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 _
)
'Utilisation
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
)

Paramètres

Remarques

Le paramètre templates doit contenir au moins un SecurityTemplatesDataSet.SecurityTemplatesRow dans le tableau SecurityTemplates qui définit un nouveau modèle. Le SecurityTemplatesDataTable peut contenir plusieurs objets de SecurityTemplatesRow . Project Server valide chaque SecurityTemplatesRow pour les éléments suivants :

  • Nom de modèle unique et le GUID

Il existe trois objets DataTable dans un SecurityTemplatesDataSet. Uniquement la SecurityTemplatesDataTable doit contenir des données. Les tables de données sont dans l'ordre, comme suit :

  1. SecurityTemplates   Chaque ligne spécifie le GUID de catégorie, le nom et la description. Uniquement le GUID et le nom (WSEC_TMPL_UID et WSEC_TMPL_NAME) sont requis pour créer une catégorie de sécurité.

  2. CategoryPermissions   Facultatif. Chaque ligne spécifie le GUID de modèle et l'autorisation de catégorie GUID et définit Allow ou Deny pour l'autorisation. Pour plus d'informations sur les autorisations de catégorie, voir la structure PSSecurityCategoryPermission .

  3. GlobalPermissions   Facultatif. Chaque ligne spécifie le GUID de modèle et de l'autorisation globale GUID et définit Allow ou Deny pour l'autorisation. Pour plus d'informations sur les autorisations globales, consultez la structure PSSecurityGlobalPermission .

Pour obtenir des exemples de modèles valides, cliquez sur un modèle dans la page Gérer les modèles dans Project Web App, pour afficher les champs et les paramètres sur la page Ajouter ou modifier un modèle.

Autorisations Project Server

Autorisation

Description

ManageSecurity

Permet à un utilisateur de gérer la sécurité de Project Server. Autorisation globale.

Exemples

L'exemple suivant crée un modèle de sécurité et ajoute une autorisation globale qui est définie sur Allow pour le groupe.

Pour plus d'informations et un exemple d'application pour tester les méthodes de la classe Security , reportez-vous à l'aide des méthodes de sécurité dans l'interface PSI. Vous pouvez ajouter le code suivant à l'application de test.

/*
 * 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);

Voir aussi

Référence

Security classe

Security - Membres

WebSvcSecurity - Espace de noms