We have three different lists

  • List A
  • List B
  • List C

with different purposes, but they all are linked. Now we want to restrict users from accessing list A while another group can access on B and so on. We tried to stop inherit permissions from parent site but this didn't work as most of the users has full control access so every list is visible to everyone.

  • Even if you hide list using target audience, they still can see the list by going into "SIte Content" or they can access the list if they have link as they have full control
    – P S
    Nov 25, 2015 at 8:44
  • yes your right, but that is down to bad security managment on the site. In a properly setup site with proper security tied into AD then target audience should work just fine
    – Ali Jafer
    Nov 25, 2015 at 8:49

2 Answers 2


without coding or major config:

1) create a new webpart page

2) create 3 new security groups (permissions) for each list. as an example in my case i create a security group called.... SecurityList1 , SecurityList2 and SecurityList3.

3) on the new page

i) click "edit page"

ii) within a webpart zone click "add a webpart"

iii) under "Categories" make sure "Apps" is selected and under "parts" select the list you want to add to the page.

iiii) repeate the process for all three lists.

4) still on the edit page select the first webpart and on the top right corner select the drop down arrow to edit the webpart. In this example i am now editing the first list called "List1"

5) when in webpart edit mode you should see to the right some settings. Click on "Advanced" to drop down.

6) go to "target audiences" and put in the security group you created for that specific list.

so keeping inline with this example I am editing the webpart for List1 and within the "Target Audience" i have added my security group that i only want to have visibility to that list on that page which is SecurityList1.

repeate the 4-6 for each webpart and then save and exit page.

now the lists should only show if you are within that specific security group :). If you are within one security group than you will only see one list on the page but if you are in three security groups you would see all three.


Hide the list from everyone using powershell (by setting the SPList.Hidden) property to true.

Then put a link to the list in a Content editor webpart or similar and use target audience on that link.

In addition you can also use target audience on the default list view web parts so that by default all the info is hidden. beyond that you can look into using JSOM to check if user is in a certain group and allow or deny access accordingly

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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