Module Development

Define a New Permission for Drupal 8, 9, 10, and 11

Modules can define custom permissions to restrict access to specific routes or page sections. This control allows module developers to provide granular access while enabling site administrators to manage user privileges. We'll add a view weekly weather permission via the anytown module to limit access to the weather page.

In this tutorial, we'll:

  • Create an MODULE_NAME.permissions.yml file.
  • Define a new permission.
  • Use the new permission to restrict access to a route.

By the end of this tutorial, you should be able to define a new permission in a module and use it to control access to a route.

Drupal Module Developer Guide