我在Sitecore中有许多不同的角色。我已经为我的内容项设置了安全权限,以便不同的角色只能访问某些内容项。似乎Lucene只会将所有内容编入索引。当我查询Lucene时,它没有注意安全性。有没有办法让Lucene只返回当前Extranet用户有权访问的项目?
谢谢, 科里
答案 0 :(得分:3)
据我所知。但是在处理Hits集合时,通常会有一个类似于此的循环:
for ( int i = 0; i < hits.Length() && i < Context.Current.Settings.MaxSearchResultsToProcess; i++ )
{
Item item = Index.GetItem( hits.Doc( i ), Context.Current.Database );
if ( item != null )
{
indexResultater.Add( item );
}
}
由于这是在当前用户的上下文中运行的,因此如果用户无法访问结果,则不会向搜索结果中添加任何结果。