I have a document library, in fact a lot of them, where I want some documents to be seen by staff only, where as some document to be seen by students ? I know I can do item level permissions on the document, but when I have several hundred of them, I would like to set permissions on multiple documents in one go, as opposed to going one by one. IS this possible ? Is there a web part that can do this.

Alternatively, is there a programmatic way to do this based on the metadata attached with the documents? Any help much appreciated.

Thanks Mandeep


This is not possible, easily, out of the box. You would need to modify the permissions per item. Item level permissions can be terrifying to manage down the road. Alternative options are:

  • Use more libraries and manager permissions per library
  • Use more folders and manage permissions per folder

Programmatically, yes this is doable using metadata, and could occur on an item added event receiver.

Like I said, managing item level permissions is terrifying, and can impede performance as SharePoint will be required to validate every single file in a view or query. I recommend against it if possible.

  • 1
    This is best reason to use folders, item level permissions in libraries. Set the permissions on the folder and the items inside inherit it, so managing permissions isn't so scarry. – Eric Alexander Sep 30 '13 at 17:11
  • I understand that, but its done for a purpose. I am quite happy with the Item level permissions, the issue is I am looking for a solution to set permissions on more than 1 document at a time. Is there no such webpart out there that does it? Can anyone post some sample code on how to do this programatically? If I introduce a column in every library for Audience ( Pupils/Staff), can I programatically make the page display only Pupils documents when a Pupil logs on? Thanks Mandeep – user19838 Oct 1 '13 at 10:57
  • Check out social.msdn.microsoft.com/Forums/sharepoint/en-US/…, this manages permission on a library, but the same model would pertain to a single document. Throw this code in an event receiver and you should be good to go. – David Lozzi Oct 1 '13 at 11:51

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.