Ролевый поиск в интрасети - PullRequest
0 голосов
/ 26 августа 2009

В настоящее время я работаю в интрасети ASP.NET 3.5, в которой используется безопасность на основе ролей, в некоторых случаях как на уровне страницы, так и на уровне содержимого страницы. Я хотел бы реализовать поиск по всему сайту, но ограничить результаты в соответствии с тем, что текущий пользователь обычно видит при посещении данной страницы. Я полагаю, что придется индексировать сайт отдельно для каждого пользователя?

Я искал в галерее управления сообществом ASP.NET, а также в Google, и не нашел ничего, что могло бы индексировать таким специфическим способом. Может кто-нибудь предложить ссылку на предварительно созданный элемент управления / решение, которое будет обрабатывать этот сценарий, или на собственную методику, которую я мог бы попробовать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 августа 2009

По сути, для каждого полученного вами URL вы можете иметь дополнительные атрибуты для сопоставления пользователя с ресурсом следующим образом:

<a href="~/somepage.aspx" id="someLink" RoleAuth="xxx" RoleArgs="yyy" runat="server" />

Затем вы можете использовать веб-часть, элемент управления и т. Д. Для отображения каждой ссылки на результат на основе учетных данных пользователя, вошедшего в систему: -)

0 голосов
/ 26 августа 2009

Если вы где-то храните то, какой контент доступен для каких ролей, то это только вопрос другого соединения в вашем запросе.

Другой, но дорогой вариант - получить результаты поиска и затем отфильтровать их в зависимости от доступности запрашивающего пользователя.

...