Skip to main content
Thomas Ziaja
SEO Content

The Drupal 8 core offers a very extensive authorization system. However, sometimes there are requirements that need to be solved by additional modules. This article briefly shows you how you can extend the authorization to edit menus.

AUTHORIZATION MANAGEMENT IN DRUPAL CORE

Let there be a content manager who is responsible for the content of the website. For example, he writes articles or creates pages. The tasks of the content manager often also require the administration of the main menu in order to add new navigation points or edit old ones. Normally he does not have this authorization: In the core there is the authorization: "Manage menu and menu items". However, this authorization includes all existing menus in the backend, e.g. the administration in the backend or the main menu in the frontend. In other words, some menus that the Content Manager should not be able to manage.

In this case, the administrator has to help. Suboptimal and cumbersome. So what to do? So how can you "split" the authorization to manage individual menus at role level in Drupal 8?

MENU ADMIN PER MENU

Screenshot der Modulseite Menu Admin per Menu auf drupal.org

The Drupal module"Menu Admin per Menu" takes over this task. It can be used to set which of the menus a role is allowed to manage. For example, the content manager can be given the authorization to also manage the "main menu" (main navigation) (and no other menu). This allows him to add, edit or delete entries there and the administrator, a terribly busy web developer, can get on with his actual tasks :)

CONCLUSION & TIPS

As you can see, there are more and more helpful modules for Drupal 8 that can support the development and administration of your website. With this in mind, it is worth browsing https://www.drupal.org/ from time to time or googling for existing solutions.

Further modules that extend the Drupal 8 authorization system:

https://www.drupal.org/project/view_unpublished

https://www.drupal.org/project/publishcontent

https://www.drupal.org/project/administerusersbyrole

https://www.drupal.org/project/config_perms