Partager via


Utilisation des paramètres Gestion des droits relatifs à l'information (IRM)

Deux types de paramètres de Gestion des droits relatifs à l'information (IRM) existent dans Microsoft Office InfoPath 2007 : l'un protège l'accès aux modèles de formulaires InfoPath et l'autre permet de contrôler l'accès aux données contenues dans les formulaires complétés et les actions sur ces dernières. Pour utiliser ces paramètres lors de la conception d'un modèle de formulaire, cliquez sur Gérer les informations d'identification dans le menu Fichier. Pour utiliser ces paramètres lorsque vous remplissez un formulaire, cliquez sur Autorisation dans le menu Fichier, puis sur Gérer les informations d'identification. Pour plus d'informations sur l'utilisation de la boîte de dialogue Autorisationdans InfoPath, voir Créer un modèle de formulaire avec des autorisations restreintes dans l'aide d'InfoPath.

Remarque

La restriction des autorisations est uniquement disponible pour les modèles de formulaires compatibles avec InfoPath. Les modèles de formulaires compatibles avec le navigateur ne prennent pas en charge la gestion des droits relatifs à l'information. Si l'option Gérer les informations d'identification n'apparaît pas dans le menu Fichier lors de la conception d'un modèle de formulaire, vérifiez vos paramètres de compatibilité.

Modèle objet Gestion des droits relatifs à l'information (IRM)

Utilisez la classe Permission pour accéder aux paramètres d'autorisation UserPermissionCollection et aux paramètres d'autorisation de la Gestion des droits relatifs à l'information, applicables à un formulaire. Pour accéder à l'objet Permission associé à un modèle de formulaire, utilisez la propriété Permission de la classe XmlForm. L'objet Permission retourné fournit l'accès à la collection d'objets UserPermission associés au modèle de formulaire et à chaque instance du formulaire créée à l'aide de ce modèle.

L'objet Permission, ses propriétés et ses méthodes sont accessibles indépendamment des restrictions d'autorisations appliquées au modèle de formulaire actif. Utilisez la propriété Enabled pour déterminer si un formulaire contient des autorisations restreintes.

Les autorisations d'un formulaire sont activées de l'une des manières suivantes à l'aide des propriétés et méthodes de la classe Permission :

La propriété Enabled est définie sur la valeur true.

La propriété DocumentAuthor est définie.

La propriété RequestPermissionUrl est définie.

La propriété StoreLicenses est définie sur la valeur true ou false.

La méthode ApplyPolicy est appelée.

Remarque

Si le client Windows Rights Management n'est pas installé sur l'ordinateur d'un utilisateur, l'utilisation de la classe Permission génère une exception.

Pour utiliser par programmation les paramètres de la Gestion des droits relatifs à l'information au niveau des utilisateurs individuels dans les formulaires, utilisez les classes UserPermissionCollection et UserPermission.

Un objet UserPermission associe un jeu d'autorisations du formulaire actuel à un seul utilisateur et à une date d'expiration facultative. Utilisez la méthode Add de la classe UserPermissionCollection pour ajouter ou attribuer un jeu d'autorisations à un utilisateur sur le formulaire actuel. Utilisez la méthode Remove de la classe UserPermissionCollection pour supprimer un utilisateur et les autorisations associées. Tandis que certaines autorisations sont accordées à l'ensemble des utilisateurs par l'intermédiaire de l'interface utilisateur, notamment l'autorisation d'impression et la date d'expiration, vous pouvez également attribuer des autorisations à chaque utilisateur individuellement et définir des dates d'expiration spécifiques à chacun d'eux à l'aide des classes UserPermission et UserPermissionCollection. Le modèle objet permet aux développeurs d'énumérer les paramètres d'autorisation dans un formulaire et de fournir les fonctionnalités qui permettent aux utilisateurs de formulaires d'ajouter des autorisations au formulaire sans devoir utiliser le volet Office Autorisation du formulaire ou la boîte de dialogue Autorisation.

Remarque

Aucune autorisation ne peut être appliquée lorsqu'un formulaire est affiché en mode Aperçu. Ainsi, toutes les propriétés de la classe Permission sont en lecture seule dans l'aperçu du formulaire. En mode Aperçu, la propriété Enabled retourne toujours la valeur false et, si le code essaie de modifier ce paramètre, une exception System.Runtime.InteropServices.COMException est générée et l'erreur « La propriété/méthode n'est pas disponible en mode Aperçu » est retournée. De même, les méthodes associées aux classes UserPermission et UserPermissionCollection retournent également ce message d'erreur lorsqu'elles sont utilisées en mode Aperçu.

Vue d'ensemble de la classe des autorisations

La classe UserPermissionCollection fournit les propriétés suivantes et une méthode.

Nom Description

Méthode ApplyPolicy

Applique une stratégie au formulaire en utilisant un fichier de modèle de stratégie.

Propriété DocumentAuthor

Obtient ou définit l'auteur du formulaire actif sous forme d'adresse électronique.

Propriété Enabled

Obtient ou définit l'information indiquant que les paramètres d'autorisation représentés par l'objet Permission sont activés pour le formulaire actif.

Propriété PermissionFromPolicy

Obtient ou définit l'application d'une stratégie d'autorisation pour le formulaire actif.

Propriété PolicyDescription

Obtient une description de la stratégie appliquée au formulaire actif.

Propriété PolicyName

Obtient le nom de la stratégie appliquée au formulaire actif.

Propriété RequestPermissionUrl

Obtient ou définit le fichier, l'URL ou l'adresse électronique que les utilisateurs doivent utiliser s'ils ont besoin d'autorisations supplémentaires sur le formulaire actif.

Propriété StoreLicenses

Obtient ou définit l'information indiquant que la licence permettant à l'utilisateur d'afficher le formulaire actif doit être mise en cache pour permettre son affichage en mode hors connexion lorsque l'utilisateur ne peut pas se connecter à un serveur de gestion des droits.

Propriété UserPermissions

Obtient un objet UserPermissionCollection pour le formulaire actuel.

Vue d'ensemble de la classe UserPermissionCollection

La classe UserPermissionCollection fournit les propriétés et les méthodes suivantes.

Nom Description

Méthode Add (+3 surcharges)

Ajoute un nouvel utilisateur au formulaire actuel, en spécifiant éventuellement des autorisations et une date d'expiration.

Méthode Remove

Supprime l'objet UserPermission comportant l'ID UserId spécifié à partir de la collection.

Méthode RemoveAll

Supprime tous les objets UserPermission de la collection.

Propriété Count

Obtient le nombre d'objets UserPermission dans la collection.

Propriété Item (+1 surcharge)

Obtient un objet UserPermission.

Vue d'ensemble de la classe UserPermission

La classe UserPermission fournit les propriétés suivantes et une méthode.

Nom Description

Méthode Remove

Supprime l'objet UserPermission actuel des autorisations du formulaire.

Propriété ExpirationDate

Obtient ou définit la date d'expiration facultative pour les autorisations du formulaire actif affectées à l'utilisateur associé à une instance de la classe UserPermission.

Propriété Permission

Obtient ou définit une valeur représentant les autorisations du formulaire actif affectées à l'utilisateur associé à une instance de la classe UserPermission.

Propriété UserId

Obtient l'adresse de messagerie de l'utilisateur dont les autorisations sur le formulaire actif sont déterminées par l'objet UserPermission spécifié.

Énumération PermissionType

Les autorisations d'un utilisateur sont définies ou lues à l'aide des valeurs d'énumération PermissionType.

Nom Description

PermissionType.Change

Permet aux utilisateurs d'afficher, de copier et d'enregistrer un formulaire mais pas de l'imprimer. Elle correspond à la combinaison des autorisations Read, Edit, Save et Extract.

PermissionType.Edit

Permet à l'utilisateur de modifier le formulaire.

PermissionType.Extract

Permet à un utilisateur disposant de l'autorisation Read de copier un contenu dans le formulaire.

PermissionType.FullControl

Permet à l'utilisateur d'ajouter, de modifier et de supprimer les autorisations d'autres utilisateurs d'un formulaire.

PermissionType.ObjectModel

Permet à un utilisateur d'accéder au document du formulaire par programme via son modèle objet. Les utilisateurs qui ne disposent pas de l'autorisation ObjectModel ne peuvent pas avoir recours au modèle objet pour déterminer leurs propres autorisations.

PermissionType.Print

Permet à l'utilisateur d'imprimer le formulaire.

PermissionType.Read

Permet à l'utilisateur de lire (d'afficher) le formulaire. (Les autorisations Read et View sont équivalentes.)

PermissionType.Save

Permet à l'utilisateur d'enregistrer le formulaire.

PermissionType.View

Permet à l'utilisateur d'afficher (de lire) le formulaire. (Les autorisations Read et View sont équivalentes.)

Exemple

Dans l'exemple ci-dessous, le contrôle Bouton permet d'obtenir la collection UserPermissionsCollection pour le formulaire actif, d'ajouter et d'attribuer un utilisateur au niveau d'accès Modification, ainsi que de définir une date d'expiration de deux jours à compter de la date du jour.

public void CTRL1_Clicked(object sender, ClickedEventArgs e)
{
   string strExpirationDate = DateTime.Today.AddDays(2).ToString();
   DateTime dtExpirationDate = DateTime.Parse(strExpirationDate);

   this.Permission.UserPermissions.Add("someone@example.com", 
      PermissionType.Change, dtExpirationDate);
}
Public Sub CTRL1_Clicked(ByVal sender As Object, _
   ByVal e As ClickedEventArgs)
   Dim strExpirationDate As String = _
      DateTime.Today.AddDays(2).ToString()
   dtExpirationDate As DateTime = DateTime.Parse(strExpirationDate)

   Me.Permission.UserPermissions.Add("someone@example.com", _
      PermissionType.Change, dtExpirationDate)
End Sub