Bonjour,
Dans un projet SP2010 Server, j'ai mis en place la récupéartion de données via le BCS.
Ce contenu est indexé par le moteur de recherche et les éléments sont bien retournés dans les pages résultat de la recherche.
Dans ces données, j'ai une table Voiture (c'est pour l'exemple) qui contient les données suivantes Marque, Modèle et Description
Marque---Modèle----Description
Jaguar----XType----Voiture allemande...
Renault---Clio-------Voiture française...
Peugeot--306-------Voiture française...
Citroen---C2--------Voiture française...
Citroen---C3--------Voiture française...
Ferrari----F40-------Voiture italienne...
Tous les utilisateurs n'ont pas le droit de voir toutes les marques.
L'utilisateur A à le droit de voir Jaguar mais pas les autres marques
L'utilisateur B à le droit de voir Citroen mais pas les autres marques
etc....
Pour continuer de faire simple, on va considérer que c'est l'AD qui me renvoi la marque de voiture qu'un utilisateur à le droit de voir.
J'aimerais donc trouver une solution pour que l'utilisateur A ne voit que les résultats de recherche qui lui sont destinés (Jaguar) et pareil pour les autres utilisateurs.
Quelle est l'approche à adopter pour traiter ce problème ? Y'a t'il un event receiver sur le lancement de la recherche qui me permettrait de repréciser la requete de recherche. Pour info, Marque, Modèle et Description sont des metadata property qui sont donc retourné dans le flux XML des résultats de recherche. Je peux donc faire un filtre dessus a priori dans la requete de recherche, du style "voiture Marque:Jaguar".
Nota : Le filtre a posteriori des résultats de recherche n'est pas la bonne solution![]()
Partager