基于角色的Intranet搜索

时间:2009-08-26 14:06:54

标签: asp.net search roles

我目前正在开发一个使用基于角色的安全性的ASP.NET 3.5 Intranet,在某些情况下,它都在页面级别和页面内容级别上。我想实现站点范围内的搜索,但根据当前用户访问给定页面时通常会看到的内容来限制结果。我想它必须为每个用户单独索引网站?

我搜索过ASP.NET社区控件库以及Google,但没有发现任何可以以这种特定方式编制索引的内容。任何人都可以提供指向可以处理此场景的预构建控件/解决方案的链接,还是我可以尝试的自定义技术?

感谢。

2 个答案:

答案 0 :(得分:0)

如果您存储哪些内容可以访问哪些角色,那么只需要查询中的另一个联接。

另一个昂贵的选择是获取搜索结果,然后根据请求用户的可访问性对其进行过滤。

答案 1 :(得分:0)

基本上,对于您检索的每个URL,您可以使用额外的属性将用户映射到资源,如下所示:

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

然后,您可以使用Web部件,控件等根据用户的登录凭据显示每个结果链接: - )