acstack
acstack

Reputation: 67

CRM 2013 - Hide settings menu from anyone that is not a system admin or customizer

I'm interested in hiding the "Settings" option from the ribbon in CRM 2013 (on-premise) I'm using the Visual Ribbon editor and have been using it to hide(disable) other items that will not be used in my organization.

Is there a way to hide "settings" from anyone that is not a system admin or customizer? So far the only solutions I've found are to create custom site maps. Is that the only way to allow admins/customizers to access settings and prevent regular users from seeing it?

Upvotes: 0

Views: 506

Answers (1)

Polshgiant
Polshgiant

Reputation: 3664

Here is a common technique for accomplishing this:

  1. Create a dummy entity called new_SettingsView.
  2. Make sure all security roles do not grant read permissions to the new entity
  3. Edit each sitemap group under settings and specify read privileges to the new entity, like this (I've trimmed out a lot of the sitemap definition for brevity):

    <Area Id="Settings">
      <Group Id="Business_Setting">
        <SubArea Id="nav_businessmanagement">
          <Privilege Entity="new_settingsview" Privilege="Read" />
        </SubArea>
        <SubArea Id="nav_template" >
          <Privilege Entity="new_settingsview" Privilege="Read" />
        </SubArea>
      </Group>
      <Group Id="Customizations" >
        <SubArea Id="nav_syscust" >
          <Privilege Entity="new_settingsview" Privilege="Read" />
        </SubArea>
        <SubArea Id="nav_marketplace" >
          <Privilege Entity="new_settingsview" Privilege="Read" />
        </SubArea>
      </Group>
    </Area>  
    

The privilege nodes make is to that only those with read privileges to the new_settingsview entity will see them.

Upvotes: 1

Related Questions