Experiences of an Inland Empire Dad

SharePoint 2013: How to Hide the Ribbon Bar

Strangely enough, one of the first things that seems to be sacrificed in a branding engagement is the SharePoint Ribbon bar.  For some reason it’s just too “SharePointy” and ends up being one of the first things to go, especially for publishing sites and intranets (At some point I have to wonder if Microsoft will just give in and bake a ribbon hiding feature into the site settings?).

That being said, it’s one of those incredibly useful components for those of us who have to maintain and edit a site.

A couple of years ago I wrote about How to Hide the Ribbon from Anonymous Users and Users without Edit Privileges.   This approach is of course still valid for 2013, but there are of course more than one way to accomplish this.

With SharePoint 2013 we have HTML master pages that are converted to SharePoint master pages.  So one “correct” way to handle this is that we need to hide the ribbon bar from users of the site who don’t have the rights to manage the content on the site.

If you open your HTML masterpage and search for “SID:02” you’ll find the ribbon snippet that we are looking for.  This is the control that we want to be able to hide for the users who don’t have the correct permissions to modify our publishing site – which can be defined by the SharePoint security mask of “ManageWeb”.   Since only those users who have to modify the site will need to see the ribbon, we just need to wrap the ribbon snippet inside a SPSecurityTrimmedControl that has it’s permissions set to “ManageWeb”.

Anything controls that are placed within this snippet will then be displayed only to the users who match that particular security mask.

<!–MS:<SharePoint:SPSecurityTrimmedControl runat=”server” Permissions=”ManageWeb”>—>

{Your controls go here}

<!–ME:</SharePoint:SPSecurityTrimmedControl>–>

For me, I’m generally using the ManageWeb for the permissions since I’m hiding the ribbon bar for all users except people who are editing and creating content.  However, there is a whole set of SPBasePermissions that can be used when defining what sort of permissions you are wrapping your SPSecurityTrimmedControl around:

Member name Description
EmptyMask Has no permissions on the Web site. Not available through the user interface.
ViewListItems View items in lists, documents in document libraries, and view Web discussion comments.
AddListItems Add items to lists, add documents to document libraries, and add Web discussion comments.
EditListItems Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries.
DeleteListItems Delete items from a list, documents from a document library, and Web discussion comments in documents.
ApproveItems Approve a minor version of a list item or document.
OpenItems View the source of documents with server-side file handlers.
ViewVersions View past versions of a list item or document.
DeleteVersions Delete past versions of a list item or document.
CancelCheckout Discard or check in a document which is checked out to another user.
ManagePersonalViews Create, change, and delete personal views of lists.
ManageLists Create and delete lists, add or remove columns in a list, and add or remove public views of a list.
ViewFormPages View forms, views, and application pages, and enumerate lists.
AnonymousSearchAccessList Make content of a list or document library retrieveable for anonymous users through SharePoint search. The list permissions in the site do not change.
Open Allow users to open a Web site, list, or folder to access items inside that container.
ViewPages View pages in a Web site.
AddAndCustomizePages Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a SharePoint Foundation–compatible editor.
ApplyThemeAndBorder Apply a theme or borders to the entire Web site.
ApplyStyleSheets Apply a style sheet (.css file) to the Web site.
ViewUsageData View reports on Web site usage.
CreateSSCSite Create a Web site using Self-Service Site Creation.
ManageSubwebs Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites.
CreateGroups Create a group of users that can be used anywhere within the site collection.
ManagePermissions Create and change permission levels on the Web site and assign permissions to users and groups.
BrowseDirectories Enumerate files and folders in a Web site using Microsoft Office SharePoint Designer 2007 and WebDAV interfaces.
BrowseUserInfo View information about users of the Web site.
AddDelPrivateWebParts Add or remove personal Web Parts on a Web Part Page.
UpdatePersonalWebParts Update Web Parts to display personalized information.
ManageWeb Grant the ability to perform all administration tasks for the Web site as well as manage content. Activate, deactivate, or edit properties of Web site scoped Features through the object model or through the user interface (UI). When granted on the root Web site of a site collection, activate, deactivate, or edit properties of site collection scoped Features through the object model. To browse to the Site Collection Features page and activate or deactivate site collection scoped Features through the UI, you must be a site collection administrator.
AnonymousSearchAccessWebLists Content of lists and document libraries in the Web site will be retrieveable for anonymous users through SharePoint search if the list or document library has AnonymousSearchAccessList set.
UseClientIntegration Use features that launch client applications; otherwise, users must work on documents locally and upload changes.
UseRemoteAPIs Use SOAP, WebDAV, or Microsoft Office SharePoint Designer 2007 interfaces to access the Web site.
ManageAlerts Manage alerts for all users of the Web site.
CreateAlerts Create e-mail alerts.
EditMyUserInfo Allows a user to change his or her user information, such as adding a picture.
EnumeratePermissions Enumerate permissions on the Web site, list, folder, document, or list item.
FullMask Has all permissions on the Web site. Not available through the user interface.

And now when the user accesses the page, unless their permissions match the ManageWeb permission mask they will no longer see the “SharePointy” ribbon bar or be able to access it’s functionality.