J'ai une application Web qui consomme le service Web de recherche SharePoint 2007 (http://localhost/_vti_bin/search.asmx
). Ma portée contient plusieurs sources de contenu, toutes contiennent des données métier (le contenu est analysé via des requêtes SQL sur des bases de données externes). J'ai besoin d'une de ces sources de contenu pour me fournir des résultats coupés de sécurité. Pour faire simple, j'ai deux tables:Recadrage de la sécurité dans le service Web de recherche
- Tableau A avec le contenu: NODEID, Titre, contenu
- Tableau B avec des autorisations: NodeId, Nom d'utilisateur
Maintenant, les indices de chenille tableau A sans problèmes. Mon problème est cependant que lorsque je fais une recherche avec le service web de requête, je ne trouve pas de solution pour faire une coupe de sécurité des résultats. Le service Web est consommé avec un compte de service, sans usurpation d'identité de l'utilisateur connecté. Est-il possible de transmettre en quelque sorte le nom d'utilisateur à l'objet querypacket, ou de toute autre manière qui vérifierait la table B, si le nom d'utilisateur a accès à l'identificateur NodeId?
Puisque je prévois de migrer sur SP2013, peut-être que certains d'entre vous connaissent également une solution pour cette version Sharepoint, s'il n'y a aucun moyen dans MOSS2007?