Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
This chapter will explore how to control access to site resources, demonstrate how to create permission programmatically, then how to implement a functional administrative interface for the cost of module. Access control is an extremely low level yet important aspect of creating an application. The user module in Drupal Core provides the mechanisms used by Drupal to manage user accounts. Including account creation, logins, and logouts, and assigning a role and permissions to a user. A Drupal role is a mechanism for assigning specific permissions to a group of users.
In your browser, navigate to People then click on the Permissions tab. You will see a list of the individual permissions available, and on the right, columns containing the available roles. By default, there are three roles that are available in a stock Drupal site installation. Anonymous which indicates that the viewer has not logged into the site, authenticated meaning a user has logged into the system successfully, and administrator who was assigned site administrator privileges to do things like add and remove users, edit content, and so forth.
The very first user account in the system, user ID 1, is considered to be a root user, meaning that they always have every permission no matter which roles are assigned. In the context of Drupal custom development it often makes sense to create a new permission in order to facilitate granular management. Permissions are checked automatically through the user access function from the user core module. While roles can be created programmatically as well I tend to advise not to do so as it forces developer's ideal organizational structure on to other site administrators.
In short, it makes sense to provide just enough granularity that different site administrators can manage in their own style without getting in the way. Therefore, in this module, I will create a custom permission to control access to the administrative interfaces for managing windfarms.
Get unlimited access to all courses for just $25/month.Become a member