У меня есть веб-приложение, которое использует поисковую веб-службу SharePoint 2007 (http://localhost/_vti_bin/search.asmx
). Моя область содержит несколько источников контента, все они содержат бизнес-данные (контент просматривается с помощью SQL-запросов во внешних базах данных). Мне нужен один из этих источников контента, чтобы предоставлять результаты с ограниченной безопасностью. Проще говоря, у меня есть две таблицы:
- Таблица A с содержанием: NodeId, Title, Content
- Таблица B с разрешениями: NodeId, имя пользователя
Теперь поисковый робот индексирует таблицу A без проблем. Однако моя проблема в том, что при выполнении поиска с помощью веб-службы запросов я не могу найти решение для обрезки результатов с точки зрения безопасности. Веб-служба используется с учетной записью службы, без олицетворения вошедшего в систему пользователя. Есть ли возможность каким-то образом передать имя пользователя объекту querypacket или любым другим способом, который бы проверил Таблицу B, имеет ли имя пользователя доступ к NodeId?
Поскольку я планирую перейти на SP2013, возможно, некоторые из вас также знают решение для этой версии Sharepoint, если в MOSS2007 этого нет?