Усиление безопасности в поисковой веб-службе

У меня есть веб-приложение, которое использует веб-службу поиска SharePoint 2007 (http://localhost/_vti_bin/search.asmx). Моя область содержит несколько источников контента, все они содержат бизнес-данные (контент сканируется с помощью запросов SQL во внешних базах данных). Мне нужен один из этих источников контента, чтобы обеспечить мне урезанные результаты безопасности. Проще говоря, у меня есть две таблицы:

  • Таблица A с содержанием: NodeId, Title, Content
  • Таблица B с разрешениями: NodeId, Имя пользователя

Теперь сканер индексирует таблицу A без проблем. Однако моя проблема заключается в том, что при выполнении поиска с помощью веб-службы запросов я не могу найти решение для подстройки безопасности результатов. Веб-служба используется с учетной записью службы, без олицетворения вошедшего в систему пользователя. Есть ли возможность каким-либо образом передать имя пользователя объекту querypacket или каким-либо другим способом, который будет проверять таблицу B, имеет ли имя пользователя доступ к NodeId?

Так как я планирую перейти на SP2013, может быть, некоторые из вас также знают решение для этой версии Sharepoint, если нет пути в MOSS2007?

1 ответ

Решение

Существует три основных варианта настройки безопасности результатов поиска SharePoint. Они включают:

  1. ISecurityTrimmerPre - Новое в SharePoint 2013. Позволяет добавлять дополнительные утверждения для пользователя перед выполнением поискового запроса.
  2. ISecurityTrimmerPost - также известный как ISecurityTrimmer2 в более ранних версиях SharePoint. Позволяет обрезать результаты поиска на основе 1 к 1 после выполнения поискового запроса
  3. Коннекторы индексации Business Connectivity Services - позволяют предоставлять списки ACL для индексатора поиска, когда он сканирует источник контента.

Существует большой набор статей в блогах, которые показывают, как реализовать каждый параметр.

Кроме того, вот отличное видео о сеансе SharePoint Conference 2012 по пользовательской настройке безопасности.

НТН

-Eugene

Другие вопросы по тегам