I have a list that contains a bunch of documents. Is there a way to hide certain documents from people based on the value of Column A? For instance column A is project name and it contains Project A, Project B, and Project C for values. Can I restrict so that some people can see Project A documents, some people can see project B and some can see project C? I am thinking I probably have to create 3 different lists and secure them that way, but that would entail remigrating data and things i don't want to do if I don't have to do it.

Thanks in advance


For existing documents, you can create item level permissions. You need to go to the list permission page and click on Stop Inheriting Permissions. This will allow you to select individual items and assign groups or individual permissions for that item by clicking on Item Permissions on the ribbon (or the context menu).

For new items, you can create a workflow to handle assigning the permission. Here is a link that shows how to restrict access to documents in a document library to the author of the document. You can implement a similar workflow to assign different permissions to different documents: http://www.endusersharepoint.com/EUSP2010/2010/04/09/configure-item-level-permissions-for-document-libraries-%e2%80%93-part-2-%e2%80%93-sharepoint-2010-edition/

| improve this answer | |

Workflow. SharePoint designer 2010 workflows have actions to add/remove permissions to do exactly as you're describing.

| improve this answer | |
  • I'm in 2013...any differences? – user1590386 Apr 11 '14 at 22:54
  • In 2013, there are two ways of building workflow, using the 2010 engine, or the 2013 engine (SharePoint 2013 has both workflow engines available) (when you use SPD 2013 to create a new workflow, it will actually ask you which type of workflow you're trying to build, 2010 or 2013.) The actions to change permission are only part of 2010 workflows, but again, SharePoint 2013 will run them just fine. The dilemma is that SharePoint 2015 may not ship with the SharePoint 2010 workflow engine, and so the workflow may need to be rebuilt at that time. – Mike2500 Apr 14 '14 at 13:21

The fastest way to do this is using an event receiver. There you can choose if the permissions need to be set when an item is added (ItemAdded) or only when a user updates an item (ItemUpdated).

I made an event receiver in a feature that set permissions based on a metadata field (column A). If this field had value A, it gives people that are mentioned in column B contribute permissions, if not, do nothing.

This is an easy way to do this, and you can even reuse it for other content types.

| improve this answer | |

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.