【发布时间】:2010-11-05 18:11:40
【问题描述】:
我在 Sitecore 担任多个不同的角色。而且我已经对我的内容项设置了安全权限,以便不同的角色只能访问某些内容项。似乎 Lucene 只会索引所有内容。当我查询 Lucene 时,它并没有注意安全性。有没有办法让 Lucene 只返回当前 Extranet 用户有权访问的项目?
谢谢, 科里
【问题讨论】:
我在 Sitecore 担任多个不同的角色。而且我已经对我的内容项设置了安全权限,以便不同的角色只能访问某些内容项。似乎 Lucene 只会索引所有内容。当我查询 Lucene 时,它并没有注意安全性。有没有办法让 Lucene 只返回当前 Extranet 用户有权访问的项目?
谢谢, 科里
【问题讨论】:
据我所知。但是在处理 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 );
}
}
并且由于这在您当前用户的上下文中运行,因此如果用户无法访问它们,则不会将结果添加到您的结果中。
【讨论】: