Role-Based SiteMap : Show/Hide Settings Area in CRM 2011

Here I will be describing about a scenario where other than Administrator,no user can see the Settings section in the CRM.

Please find the below problem statement:

Show/Hide Settings area based on the roles

Following are the steps to solve the problem:

  1. Create a new entity named “RoleHideSettingsResource”(any name of your choice).
  2. Give read access of newly created entity only to the Administrator and System Customizer.No other users will have any permission as shown below:

  1. Get the Sitemap xml(using any editor tool*) and edit it as follows :

Search for <Area¬†Id=Settings”¬†ResourceId=Area_Settings
and then add:

<Privilege Entity="new_rolehidesettingsresource" Privilege="Read" />

to all theSubAreas as shown below :

<Area Id="Settings" ResourceId="Area_Settings" ShowGroups="true" Icon="/_imgs/settings_24x24.gif" DescriptionResourceId="Settings_Area_Description">
<Group Id="Business_Setting" ResourceId="Menu_Label_Business" DescriptionResourceId="Menu_Label_Business">
<SubArea Id="nav_businessmanagement" ResourceId="Homepage_BusinessManagement" DescriptionResourceId="BizManagement_SubArea_Description" Icon="/_imgs/ico_18_busmanagement.gif" Url="/tools/business/business.aspx" AvailableOffline="false">
<Privilege Entity="new_rolehidesettingsresource" Privilege="Read" />

4.Save the xml and update the sitemap and assign appropriate roles to the users.