Tell me more ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have indexed an old WSS 2.0 from my SP2010 search engine. The indexation works fine as I can see documents from the WSS 2.0 server in the results. The problem is that there doesn't seem to be any security trimming done on these results. I can see documents coming from paths I don't have access to. When I click on these documents from the results I have an expected "access denied".

I was expecting that these results don't appear at all in the results list. Is there something I'm missing ? Do I need to implement custom security trimming ?

I have read this forum and it looks like security trimming works out-of-the-box from WSS 2.0 to WSS 3.0. Maybe it doesn't work from WSS 2.0 to SP2010 ?

I tried indexing a shared folder on the network and the security trimming is correctly applied.

share|improve this question

1 Answer

The SharePoint 2010 search index, while crawling, collects and stores the information about access control list (ACL) defined for the files or documents. While searching, this information is being used by the search service to security trim the results and so the search results are displayed according to user permissions.

Since WSS 2.0 does not support item or folder level permissions, ACLs are not found at crawl time. And so, you cannot have out-of-box security trimming.

The solution is to build custom security trimmer implementing ISecurityTrimmer2 interface.

By the way, I already built trimmers for such cases and I am publishing(in a day or two) a blog post here which will focus on building custom security trimmers when the content to be crawled is external sites.... like WSS 2.0

Thanks

share|improve this answer
Can you edit your post to link directly to the blog post? Linking to your domain doesn't really help. – Kit Menke Oct 11 '11 at 20:23
I am still writing on it. I will inform you when published. – Amit Kumawat Oct 12 '11 at 1:32
Here is the post :extreme-sharepoint.com/2011/10/12/… – Amit Kumawat Oct 12 '11 at 13:11
The logic you may apply in the above example to trim results for WSS 2 pages is 1) Grab the documentcrawlUrl in CheckAccess() 2) Invoke a httprequest for the documentcrawlUrl which is a WSS 2.0 page. If you get access-denied for the user, return false in bitArray[x]. Please be aware of the performance implications if the request take long time because of slow network. – Amit Kumawat Oct 12 '11 at 13:16
Great! That is good info, can you edit it into your post? Then we can delete the comments. :) – Kit Menke Oct 12 '11 at 13:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.