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.