Leçon 2 : Création des attributs pour la sécurité au niveau des lignes

Une méthode courante permettant de définir la sécurité au niveau des lignes consiste à utiliser les informations de connexion de l'utilisateur pour déterminer les lignes à afficher. Au cours de cette leçon, vous allez créer un attribut dans l'entité Employee qui filtre les données en fonction des informations de connexion de l'utilisateur. Vous allez créer un filtre puis modifier celui-ci en tant que formule pour utiliser la fonction GetUserID.

Notes

Le démarrage de cette leçon suppose que Business Intelligence Development Studio est encore ouvert sur votre ordinateur et que le modèle de rapport est affiché dans la fenêtre.

Pour créer un attribut filtré qui est modifié en tant que formule

  1. Dans l'arborescence, sélectionnez l'entité Employee.

    Les attributs Employee sont affichés dans la vue de la liste.

  2. Cliquez avec le bouton droit sur Employee, pointez sur Nouveau et cliquez sur Filtre.

    La boîte de dialogue Filtrer les données s'ouvre.

  3. Dans la liste Champs, double-cliquez sur Login ID2.

    Une condition de filtre utilisant le champ Login ID2 que vous avez créée à la leçon 1 est ajoutée au filtre.

  4. Dans le filtre, cliquez avec le bouton droit sur Login ID2 et sélectionnez Modifier en tant que formule.

    La boîte de dialogue Définir la formule s'ouvre en affichant la formule Login ID2=Empty.

  5. Dans la zone Formule, sélectionnez le mot Empty.

  6. Cliquez sur l'onglet Fonctions et développez le nœud Informations.

  7. Double-cliquez sur la fonction GetUserID.

    Empty est remplacé par GetUserID().

  8. Cliquez sur OK.

    La boîte de dialogue Définir la formule se ferme et la clause de filtre affiche Login ID2=GetUserID.

  9. Cliquez de nouveau sur OK.

    La boîte de dialogue Filtrer les données se ferme et l'attribut NewFilter s'affiche dans la vue de la liste. Vous allez ensuite renommer l'attribut.

Pour renommer l'attribut

  1. Dans la vue de la liste, cliquez avec le bouton droit sur l'attribut NewFilter et sélectionnez Renommer.

  2. Tapez UserIDFilter.

    Puis, vous allez attribuer les propriétés d'attribut requises.

Pour modifier les propriétés de l'attribut

  1. Dans la vue de la liste, sélectionnez l'attribut UserIDFilter.

  2. Dans la fenêtre Propriétés, recherchez la propriété IsFilter.

  3. Vérifiez que la valeur IsFilter est True.

  4. Recherchez la propriété Hidden.

  5. Cliquez sur la flèche vers le bas Hidden, puis sélectionnez True.

    Modifier la propriété Hidden sur True empêche les utilisateurs de modèle de voir cet attribut lorsqu'ils créent des rapports à l'aide du modèle. Étant donné que vous utilisez l'attribut comme filtre pour attribuer la sécurité, les utilisateurs n'ont pas besoin de le voir au moment de créer leurs propres rapports.

  6. Dans la vue de la liste, sélectionnez l'attribut Login ID2.

  7. Dans la fenêtre Propriétés, repérez la propriété Nullable.

    Étant donné que la propriété Nullable de l'attribut Login ID2 a pour valeur True, la propriété Nullable de l'attribut UserIDFilter doit avoir aussi la valeur True. Cependant, il ne s'agit pas d'une propriété obligatoire pour une utilisation en tant que filtre de sécurité.

  8. Cliquez sur la flèche vers le bas Nullable, puis sélectionnez True.

Pour affecter un attribut à la collection des filtres de sécurité

  1. Dans l'arborescence, sélectionnez l'entité Employee.

  2. Dans la fenêtre Propriétés, recherchez la propriété SecurityFilters.

  3. Sélectionnez la propriété SecurityFilters et cliquez sur le bouton des points de suspension ().

    La boîte de dialogue relative à l'Éditeur de collections des références aux attributs s'ouvre.

  4. Cliquez sur Ajouter.

  5. La boîte de dialogue Attributs du filtrage de sécurité s'ouvre.

  6. Dans la liste Entités, vérifiez que l'entité Employee est sélectionnée.

  7. Dans la liste Champs, sélectionnez l'attribut UserIDFilter.

  8. Cliquez sur OK, puis à nouveau sur OK.

    Puis, vous allez enregistrer les modifications dans votre modèle puis redéployer le modèle sur le serveur de rapports.

Pour enregistrer et déployer le modèle de rapport

  1. Dans le menu Fichier, cliquez sur Enregistrer tout.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet Modèle Adventure Works et sélectionnez Déployer.

    Le modèle est déployé sur le serveur de rapports.

    Important

    Pour vérifier que le modèle a été déployé correctement, vous pouvez consulter l'onglet Liste d'erreurs. En cas d'erreur, vous devrez résoudre le problème avant de continuer.

Étapes suivantes

Vous venez de créer un attribut et de l'affecter à la collection SecurityFilters. Ensuite, vous devez activer la sécurité de l'élément de modèle dans SQL Server Management Studio. Consultez Leçon 3 : Activation de la sécurité au niveau des lignes dans le Gestionnaire de rapports.