如何在Sitecore中设置Lucene索引以正确处理安全性?

时间:2010-11-05 18:11:41

标签: security lucene sitecore

我在Sitecore中有许多不同的角色。我已经为我的内容项设置了安全权限,以便不同的角色只能访问某些内容项。似乎Lucene只会将所有内容编入索引。当我查询Lucene时,它没有注意安全性。有没有办法让Lucene只返回当前Extranet用户有权访问的项目?

谢谢, 科里

1 个答案:

答案 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 );
    }
}

由于这是在当前用户的上下文中运行的,因此如果用户无法访问结果,则不会向搜索结果中添加任何结果。