service d'indexation est mis en place sur notre serveur de fichiers pour indexer un dossier de deux douzaines de (appelés « scopes » dans la terminologie du service d'indexation), dont tous ne sont accessibles à tous les utilisateurs . J'ai un script de recherche ASP fonctionnant sous IIS avec l'authentification intégrée de Windows, ce qui signifie que lorsqu'un utilisateur connecté au réseau utilise la page de recherche, il ne voit que les résultats auxquels il a l'autorisation d'accéder. C'est une bonne chose.service d'indexation Windows - Liste des étendues accessibles à l'utilisateur actuel
Mais comment puis-je montrer à l'utilisateur une liste des champs auxquels ils ont accès à? (En d'autres termes, une liste des dossiers qui seront recherchés). Les étendues peuvent être énumérées par programmation en utilisant l'objet CatAdm, mais cela nécessite des permissions d'administrateur que mon script ASP n'a pas, et de toute façon il ne me dit pas si l'utilisateur actuel a ou non accès. J'ai essayé l'astucieuse astuce d'activer l'indexation des répertoires (le paramètre de registre FilterDirectories) et ensuite faire une requête pour les répertoires seulement ("@Attrib^a 0x10", pour vérifier l'indicateur d'annuaire dans les attributs du fichier), mais bien sûr cela me donne aussi des sous-répertoires ... Je pourrais parcourir les résultats et prendre seulement les meilleurs répertoires, mais cela semble mettre beaucoup de charge sur le serveur juste pour générer cette liste simple. De plus, j'ai configuré alias afin que le service d'indexation retourne des chemins de réseau au lieu des chemins locaux, mais il me semble avoir rencontré un service d'indexation bug car l'alias est appliqué à tout sauf haut niveau eux-mêmes répertoires.
Quelqu'un at-il des meilleures suggestions?