This project is not covered by Drupal’s security advisory policy.
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. -
Media Entities
Advanced Access ships with an access consumer for Media Entities. This supports both the Entity type provided by the Media module Core in versions after Drupal 8.4, as well as the contributed Media Entity module, and its ecosystem. For support for the contributed module, you must apply a patch.
Other entity types
At this time the following modules provide integration with or leverage Advanced Access.
- Paragraphs Access version 8.x-2.x
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.
- Reference Map Advanced Access 8.x-1.x - Integrates with Reference Map offering a provider to grant access based on Reference Maps.
At this point in time, there is a plan to implement support or replacements for the following modules:
Support
For questions or support with the module, please open an issue in the issue queue, or contact me directly via drupal.org.
Project information
- 793 sites report using this module
- Created by richgerdes on , updated
- This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
1.0 Release Candidate 11
Development version: 8.x-1.x-dev updated 2 Feb 2023 at 13:51 UTC