i want to hide few quick launch navigation links for visitors but it should be visible to members and owners in SharePoint foundation 2010.



You could wrap the Quick Launch with the SPSecurityTrimmedControl and configure Permissions so that the Quick Launch is visible only to users with Edit Permissions.

| improve this answer | |
  • Don't see how this would solve the problem as the OP neither wants to hide the complete quick launch nor want to use permissions but rather SharePoint groups. – Sig Weber Jan 23 '12 at 15:38
  • I personally try to avoid using groups because groups pemission level and/or permissions assigned to a group for a securable object can be changed and that will break the solution. I think it should be based on permission. – Ashish Patel Jan 23 '12 at 15:50
  • @Sig: If those groups have different permissions you could use those differences in combination with the SPSecurityTrimmedControl – Waldek Mastykarz - MVP Jan 24 '12 at 15:26

You can accomplish this easily using SPServices and CSS.

Add the script for including the Jquery file in your master page and include the following code to get the group name of the person logged in.

<script type="text/javascript" src="/Jquery/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/Jquery/jquery.SPServices-0.6.2.min.js"></script>

var groupName;
    operation: "GetGroupCollectionFromUser", 
    userLoginName: $().SPServices.SPGetCurrentUser(),
    async: false,
    completefunc: function(xData, Status) { $(xData.responseXML).find(["nodeName=Group]").each(function() {groupName = $(this).attr("Name");}); } });    
if($.trim(groupName) != 'Group Name') 
    ///CSS to hide the quick launch links goes here.

Inserting css styling above would hide individual links for people from different groups.

| improve this answer | |

SharePoint Foundation does not offer any built-in way to show/hide single quick launch links based on SharePoint group members. To accomplish something like that you need to develop a custom navigation provider on your own to replace the built-in one.

| improve this answer | |

The easiest way is to control permissions on the source list. If a list called "Drafts" is only open to contributors, then visitors won't see it in the QuickLaunch.

| improve this answer | |
  • My quick launch contains navigation links for pages also.I want to hide these links also for those who dont have permission. – ARD Jan 24 '12 at 5:51
  • ok, then in Foundation there is no easy way, as you don't have audiences. You'll need to follow either Deepu's or Sig's advice. – Christophe Jan 24 '12 at 6:15

If you completely remove permission of a certain group for the items you do not want them to see in the quick launch, it will reflect accordingly.

Supposed i do not want the visitors to see my doc lib, go to permission of the doc lib and remove that group. If there is a link for the doc lib in your quick launch, they will no longer be able to see it, while the others will. Much easier than involving CSS. To do this you will have to break the inheritance connection between the doc lib permissions and the parent site.

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