I have a list with the Company field, as well as 30 different companies. For them, I need to restrict access depending on the value of the company column.

At the moment, I created a page from web parts, created a web part for each company, also created a presentation for each company and limited each web part to a group of users.

Is this the best solution? There are other options?


Web parts are not security. Any of those users could still go to / guess the URL of the list and see all of the items.

One solution would be to create a workflow that each time an item is added or edited would break inheritance on the item and grant required permissions to the Company User or a group of Company Users. It would also grant any other permissions for owners, approvers or moderators.

| improve this answer | |
  • Excellent, I saw that other guys provided permissions to each item also through MS flow, can you tell me if it’s worth it? – Chupakhin Yevheniy Nov 1 '19 at 10:40
  • If the workflow is only doing SharePoint work, then I would not use Flow. Worth it? It depends on your requirements. Another solution is to use folders. – Mike Smith - MCT - MVP Nov 1 '19 at 13:17

As an alternate to workflows, consider using folders. Especially as you have a small number of Companies to deal with.

  • Create 30 folders, one for each company.
  • Break inheritance on each folder.
  • Grant permissions to each company's users (or to a group of their users) to their folder only.
  • Create one view that displays the folders. This is for your editing work. Upload Document B to Company B's folder, etc.
  • Create one view that hides folders. (This merges the folders into a single list.) Due to folder security, each user only sees the documents from their folders. (but they are not even aware that there are folders.) Give the company users the URL to this view.

For more on folders see: https://techtrainingnotes.blogspot.com/2016/05/sharepoint-folders-are-not-evil.html (scroll down to "Security and Folders")

| 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.