Procédure pas à pas : utilisation du découpage de sécurité du catalogue de données métiers pour réduire les résultats de la recherche
Recherche de contenu d'entreprise dans Microsoft Office SharePoint Server 2007 effectue un découpage de sécurité des requêtes de résultats de la recherche en utilisant les informations de sécurité obtenues lors de l'analyse. Cependant, dans certains scénarios, le découpage peut ne pas être suffisant. Par exemple lorsque des applications principales ne fournissent pas d'informations de sécurité lors de l'analyse ou lorsque vous avez besoin d'informations de sécurité à jour et qu'une nouvelle analyse n'est pas pratique avant le découpage. Pour répondre à ces scénarios, le moteur de traitement des requêtes de recherche de contenu d'entreprise fournit une structure afin de connecter des modules de découpage de sécurité des requêtes dynamiques dans lesquels les résultats spécifiques à une requête d'un seul utilisateur peuvent être ajustés avant leur affichage dans les résultats de la recherche.
Le catalogue de données métiers implémente la méthode CheckAccess pour offrir une prise en charge intégrée du découpage de sécurité par instance d'entité et pour garantir la sécurité au niveau instance de l'entité.
Le découpage de sécurité du catalogue de données métiers permet le découpage de sécurité personnalisé des instances d'entité (documents de recherche) qui ont été indexées par le catalogue de données métiers avant d'être retournées à l'utilisateur. Il ajuste le jeu de résultats (contenant les instances d'entité) lors de l'exécution en fonction des autorisations de l'utilisateur actuel sur les données principales, en utilisant la logique dans l'application principale pour déterminer les autorisations de l'utilisateur. Le découpage de sécurité du catalogue de données métiers suppose que l'application principale active fournira une méthode publique pour vérifier les autorisations de l'utilisateur actuel pour une ou plusieurs instances d'entité. Les paramètres d'entrée de la méthode doivent accepter les ID des objets EntityInstance à vérifier, et le paramètre de sortie doit retourner les droits d'accès pour l'utilisateur actuel sous la forme d'un tableau d'entiers long (ou d'une valeur pouvant être convertie en un entier long).
Si une telle API est disponible, les auteurs des métadonnées du catalogue de données métiers peuvent définir un MethodInstanceType appelé AccessChecker dans le fichier de définition de l'application, et le mapper sur l'API frontale de la même façon que Finder, SpecificFinder, etc. Une fois qu'une instance de méthode AccessChecker est disponible, le découpage de sécurité du catalogue de données métiers peut l'utiliser pour déterminer les autorisations de l'utilisateur via la méthode CheckAccess.
Le découpage de sécurité du catalogue de données métiers exécute la méthode CheckAccess chaque fois que le moteur d'interrogation retourne des résultats de recherche qui correspondent à la règle d'analyse à laquelle le découpage de sécurité du catalogue de données métiers est associé. Lorsque la méthode Entity.CheckAccess est appelée, le catalogue de données métiers exécute l'API principale décrite par l'instance de la méthode AccessChecker enregistrée pour cette entité. L'API principale retourne les droits de l'utilisateur actuel sur l'instance ou les instances d'entité. Ces informations sont retransmises à la méthode Entity.CheckAccess, et pour finir au découpage de sécurité, qui les utilise pour réduire les résultats avant leur affichage.
Cette procédure pas à pas vous guide pendant toutes les étapes d'ajout d'une instance de méthode AccessChecker à l'Exemple SQL Server 2005 AdventureWorksDW, d'enregistrement du découpage de sécurité du catalogue de données et d'ajout de règles d'analyse et de sources de contenu aux données métiers liées au découpage de sécurité.
Voir aussi
Autres ressources
Procédure pas à pas : utilisation d'un découpage de sécurité par défaut pour les résultats de recherche
AccessChecker, exemples