Advanced Access

Component ID

2926902

Component name

Advanced Access

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

97

Component created

Component changed

Component body

Advanced Access is an access control suite designed to provide an extensible access control system that leverages plugins to determine access pathways. The module extends the concepts of the node_access implementation in code to support additional entity types and to make the interface between access modules simple.

Design

Advanced access leverages two major concepts. Access Providers and Access Consumers. Working together these two plugins can be used to provide access control to many entity types throughout Drupal. To create an access grant system for an entity type, it simply an access consumer plugin needs to be provided for that type. Grants are then provided based on then available and supported provider plugins. Consumers can be provided as part of the module providing the entity type, or by another module, using an Overriding consumer plugin.

Flexibility

This module is designed with flexibility in mind. This means that the module is not designed around a particular entity type, or required minimum configuration. Unlike the Core Nodes access implementation, having a module enabled does not mean its being used for any particular entity type, this is all configurable via the admin UI.

Using Advanced Access

This module was developed for sites that might leverage complex access control, and is designed to cut down the logic required to implement efficient access control on multiple entity types, while also still leveraging the same mechanisms that are available for Content in Drupal Core.

Node Access

Advanced Access comes with a module that implements a bridge between Core's Node access system and the Advanced Access plugin environment. Just enable adva_na in the module list, and configure it to use the desired providers.

Backward compatibility for content Access

The adva_na module does not out of the box support existing node_access modules that implement the node_access hooks, since this is not required. These modules, may in the future be leveraged to use Advanced Access or plugin bridges may be written in the future to support them.

At this point in time, there is a plan to implement support for the following modules:

Other entity types

At this time the following modules provide integration with or leverage Advanced Access.

Access Providers

Access providers can be leveraged to provide access to to any entity or only specific types. The following access providers are available:

  • Role Access Control 8.x-2.x - Entity Access control for field able entities with a Entity Reference Role field.

Support

For questions or support with the module, please open an issue in the issue queue, or contact me directly via drupal.org.