While working on a recent project in SharePoint 2010, I ran into a problem with a requirement related to the ribbon. In case you have the same situation, I’m sharing what I’ve learned.
For the site I was creating, the ribbon needed to appear for all users regardless of their permission set. However, SharePoint 2010 only displays the ribbon for users who have at least AddAndCustomizePages permissions. As a result, users with ViewListItems/ViewPages or READ level permissions cannot see the ribbon. Microsoft designed SharePoint this way to save screen space for users who don’t need the ribbon.
I searched Google for a solution. I found many sites that explained how to hide the ribbon from users who don’t need it, but I only found a few that explained how to make it visible to all users. Following are two of the recommended solutions that I found.
• Change the PermissionsLevel attribute for <SharePoint:SPRibbon> on the Master page from AddAndCustomizePage to ViewListItems.
• Embed the div area displaying the ribbon (s-4-ribbonrow) within <SharePoint:SPSecurityTrimmedControl> and then set the appropriate permission level for this tag and for the other set to display:none.
Unfortunately, neither one of these recommended solutions worked for me. My conclusion is that SharePoint only enables and displays the ribbon for users with at least AddAndCustomizePages permissions. Again this is so the ribbon doesn’t take up screen space for users who don’t need it. If you’re trying to get the ribbon to appear for all users, then I recommend that you rethink your design.
Here are the sites that I found that had proposed solutions. Maybe you’ll find something useful on them.