Introduction


You want to set unique permissions on a SharePoint List View. Many SharePoint experts will say, "it's one of SharePoint limitations!". However, there is a workaround here.

Workaround


Permissions in SharePoint are basically on;

  1. Sites
  2. Libraries
  3. Documents
  4. Folders
  5. Lists
  6. Items

Steps

  1. Create your list
  2. Make sure the list is not in quick launch or top navigation
  3. Whatever columns are needed, add it
  4. Create different views
  5. Create page for each view you created in your list
  6. Add the list in the pages you created, while in Edit mode, edit the web part zone of the list & choose the view to display.
  7. In the pages library, here you specify unique permissions on each page; which means for each view!

Hide the List



Remember;
 make sure your list is not in quick launch [left navigation] or top navigation.

Now someone with contribute permission can go to “View all site content” and see the list. So now we have to hide the list. This can easily be done using PowerShell.

$webSite = Get-SPWeb "http://sharepointsite";            
$list = $webSite.Lists["TestList"];            
$list.Hidden = 1;            
$list.Update();