How can I restrict permissions (read/write) on list items based on the item's value?

For ( a simplistic) example, I have a list "Appraisals" which has two entries - Manager and Employee of type "Person". The manager is only allowed to see those entries (and edit) where he is listed as a Manager the the employee - only his own. One option is to create a custom query which shows it, but then everything can still be enumerated using the DispForm.aspx?ID=666 trick or similar.


If your're on SP2010 or above, a simple SharePoint Designer Workflow can be used to set the permissions when the file is uploaded/modified, based on the values.

There's no secure mechanism to restrict access based on values alone (as in list views, client side coding, etc), you'll need to actually set the permissions specifically or place the documents in locations that have the permissions already in place.

  • I understand that you could have a workflow/cusotm bit of C# that can trigger after new item, but I'm not sure how can you adjust permissions for an individual list entry. Do you have any examples/can point to any reference?
    – Konrads
    Dec 9 '13 at 9:44
  • SharePoint Designer is a No Code solution to this problem. C# Event handlers can do it as well of course but its a steeper learning curve and not necessary unless you want to package up a solution and use multiple times on different lists, etc.
    – Paul Leigh
    Dec 9 '13 at 10:51
  • You can evaluate the SPD Workflow options in an elevated step here: office.microsoft.com/en-us/sharepoint-designer-help/…
    – Paul Leigh
    Dec 9 '13 at 10:52

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.