1

I have users who do not have access to certain documents (i.e. no read permissions). These documents do not get returned in search results. I don't want users to read these documents, but I need them to be able to check if a document exists so they can request access if they need.

Is there a way to get the documents to show up in the search results without having the user read the actual contents of the file.

0

Every once in a while I get this requirement, not often for documents, but often enough for sites that the solution applies to items, documents, sites and external content not stored in SharePoint. The solution is to create "excerpts" or "linked items" that contain enough information about the documents in question that users can search for the links and then request access to the associated content.

Yes, it does require more work, but this work can be automated. For example a Flow could be created that extracts the opening paragraph, or the summary section, of the document and create a list item in a "public" list that the users do have read access to. You could even have the Flow copy the metadata along with it to improve findability (you are using metadata...right?). SPO will index the items and provide the results to your users. We have further augmented the Display Template to include a link to "Request Access" where the user completes a request form and then another flow runs to process the approval request, ultimately adding the requesting user to the readers group on the library.

I wouldn't say its "Impossible" it just requires an understanding of how the pieces fit together so you can create a solution to your business problem.

  • This is excellent - thank you, Matthew. I haven't been asked for this functionality yet, but I see it in the near future. This idea will give me much needed direction. PS. Yes we do use metadata! – SilkwoodDude Apr 18 '18 at 2:25
1

It is impossible via OOTB search functionality and this is by design for security trimming .

Security Trimming

By default, Enterprise Search results are trimmed at query time, based on the identity of the user who submitted the query. When results are returned for a user's search, the Query engine performs an access check for the user's identity against the security descriptor stored in the content index for each item in the search results. The Query engine then removes any items in the search results that the user does not have access to, so that the user never sees these results.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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