Служба индексирования настроена на нашем файловом сервере, чтобы индексировать пару десятков папок (называемых «областями» в терминологии службы индексирования), не все из которых доступны для всех пользователей , У меня есть сценарий поиска ASP, работающий под IIS с интегрированной аутентификацией Windows, а это означает, что когда пользователь, войдя в сеть, использует страницу поиска, они будут видеть только те результаты, к которым у них есть разрешение на доступ. Это хорошая вещь.Служба индексирования Windows - список областей, доступных для текущего пользователя
Но как я могу показать пользователю список областей, к которым у них есть доступ? (Другими словами, список папок, которые будут искать). Области могут быть перечислены программным путем с использованием объекта CatAdm, но для этого требуются разрешения администратора, которые мой ASP-сценарий не имеет, и в любом случае он не говорит мне, имеет ли текущий пользователь доступ или нет.
Я пробовал умный трюк, позволяющий индексировать каталоги (параметр реестра FilterDirectories), а затем делать запрос только для каталогов («@Attrib^a 0x10», чтобы проверить флаг каталога в атрибутах файла), но, конечно, это также дает мне подкаталоги ... Я мог бы пропустить результаты и взять только топ-каталоги, но, похоже, накладывает большую нагрузку на сервер, чтобы создать этот простой список. Более того, я настроил псевдонимы, чтобы служба индексирования возвращала сетевые пути вместо локальных путей, но я, похоже, столкнулся с ошибкой службы индексирования, потому что псевдоним применяется ко всему , за исключением самих каталогов верхнего уровня.
Есть ли у кого-нибудь лучшие предложения?