Part-3 : How to show/hide SharePoint Quick Launch for users with specific permission

In this post, I will discuss about how to hide/show Quick Launch/left navigation and related area for specific permission group.

This post is part 3 from the Quick Launch series,

part-1 : customizing quick launch to pick up 3 or more level of sub-menu items

Part-2 : How to add 3 or more level of menu items in SharePoint quick launch

Part-3 : How to show/hide SharePoint Quick Launch for users with specific permission

Let’s start with what we get with out of box functionality

For publishing site / OR team site with publishing features enabled you can choose audience targeting for links added to Quick launch ..!!

  • Go to site settings -> Look and Feel -> Navigation
  • Choose a link item and select Edit.. or Add Link ; In both you will find an option for targeting audience.
  • Let say you have chosen GroupA and GroupB in audience and save it.
  • Now users from only GroupA and GroupB can able to see this link and no one else…Isn’t this great out of box functionality:)



But this is not enough for real projects !!  And so we will go ahead with code for little more… You can do this with sharepoint designer / visual studio project / or even from browser itself by dumping webpart on the page [keep in mind browser way will not make changes to master page]

If you want to show/hide or make any branding changes which are consistent throughout your site you must make the change in master pages.

1)  Hiding Quick Launch for all users

.s4-ql{ display:none !important; }

Quick launch is gone…!!

2) Getting rid of whole left navigation

#s4-leftpanel{ display:none !important; }

Left panel is gone !!

Well but you still find blank big junk white space on left side …

Do you want to get rid of it then add following as well.

.s4-ca{ margin-left:0px !important; }

3) Let’s say now you want to hide it for only specific users with some specific permission..

In sharepoint 2010 you can run/render  script/control  for specific permission access…

<Sharepoint:SPSecurityTrimmedControl runat=”server” Permissions=”ManageLists”>

put your stuff here that you want security trimmed

This section will only run for users with  Permissions -> ex. ManageLists here..

In our case (1)  or (2) will come here in style tag..


4) More on SPSecurityTrimmedControl :  What to choose as permissions attribute ?

  • In simple language, Permissions are roles in SharePoint
  • If user is a member of that role then whatever inside SPSecurityTrimmedControl will run/render.
  • You can also make your check like if user is in role A or B or C then run my script or render my control.
  • To check multiple roles condition SPSecurityTrimmedControl  takes PermissionsString property instead of Permissions with a comma separated list of roles.

Below is the MSDN link which will give you brief idea about what are the available permission roles in SharePoint 2010.

5) Little bit about quick launch related css classes if you need to go ahead with other stuff for left navigation.

css class/id

Represent what section on SharePoint 2010

s4-notdlg Whole navigation top/left everything
#s4-leftpanel [id] Whole left navigation
S4-ql Quick Launch
s4-specialNavLinkList Special Navigation links on left side bar ex.Recycle bin, All site contents..
s4-specialNavIcon Special navigation icons..
ms-quickLaunch Covers quick launch, special nav links, tree view

8 thoughts on “Part-3 : How to show/hide SharePoint Quick Launch for users with specific permission

  1. Hi!

    This is really a great post.
    I was wondering if the approach to nr 3 works on the quick launch in SharePoint’s MySite?
    I tried setting up audience for a new link in quick launch but still all users that log in to the site can see the link (even though I made it restricted to only Group 1 where I just had one user).

    Since that approach didn’t work I am now looking in to your post.


  2. Hi,
    Thanks for the post. Will it work for a Mysite with publishing feature activated.

Comments are closed.