Access control modules and Drupal 11
Contrib modules in the Access control category, ranked by how many sites run them.
Every field on these pages comes from the drupal.org API. Modules under 1,000 reported installs are not listed.
CAPTCHA
ReadyAdd challenge-response tests to user-facing forms on your site to protect against spambot submissions. Further CAPTCHA types are supported via contrib modules.
captchaLatest stable 8.x-1.17244,588 sitesExternal Authentication
ReadyProvides a generic service for logging in and registering users that are authenticated against an external site or service and storing the authentication details.
externalauthLatest stable 2.0.13108,588 sitesField Permissions
ReadyThe Field Permissions module allows site administrators to set field-level permissions to edit, view and create fields on any entity. Features Enable field permissions on any entity, not just nodes. Role-based field permissions allowing different viewing patterned based on what access the user has. Author-level permissions allow viewing and editing of fields based on who the entity owner is.
field_permissionsLatest stable 8.x-1.569,071 sitesEU Cookie Compliance (GDPR Compliance)
ReadyProvides a GDPR cookie banner where you can gather consent from the user when the website stores cookies on their computer or otherwise handles their personal information.
eu_cookie_complianceLatest stable 8.x-1.2967,536 sitesMasquerade
ReadyAllows site administrators (or anyone with enough permissions) to switch users and surf the site as that user
masqueradeLatest stable 8.x-2.265,275 sitesView Unpublished
ReadyGives users with specific roles the ability to view unpublished content of certain content types.
view_unpublishedLatest stable 8.x-1.361,676 sitesPassword Policy
ReadyThis module supports enforcing restrictions on user passwords by defining password policies. Overview A password policy can be defined with a set of constraints which must be met before a user password change will be accepted. Each constraint has a parameter allowing for the minimum number of valid conditions which must be met before the constraint is satisfied.
password_policyLatest stable 4.0.357,173 sitesRole Delegation
ReadyThis module allows site administrators to grant specific roles the authority to assign selected roles to users, without them needing the administer permissions permission. For each role, Role Delegation provides a new assign ROLE role permission to allow the assignment of that role. The module also adds an assign all roles permission.
role_delegationLatest stable 8.x-1.655,960 sitesreCAPTCHA v3
ReadyEasily configure Google reCAPTCHA v3 with a fallback challenge for enhanced security and user-friendly protection on your website.
recaptcha_v3Latest stable 2.0.544,683 sitesOverride Node Options
ReadyThe Override Node Options module allows permissions to be set to each field within the Authoring information and Publishing options field sets on the node form. It also allows selected field sets to be set as collapsed and / or collapsible.
override_node_optionsLatest stable 8.x-2.937,448 sitesProfile
ReadyThe Profile module provides configurable user profiles. Comparison to user account fields Why use profiles instead of user account fields? With profile, user account settings and user profiles are conceptually different things, e.g. with the “Profile” module enabled users get two separate menu links “My account” and “My profile”.
profileLatest stable 8.x-1.1435,765 sitesOpenID Connect / OAuth client
PartialThe OpenID Connect module provides a pluggable client implementation for the OpenID Connect protocol. The server implementation of the protocol is provided by Simple OAuth (OAuth2) & OpenID Connect or the OAuth2 Server modules. What is OpenID Connect? http://openid.net/connect : OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol.
openid_connectLatest stable 8.x-1.532,788 sitesCAS
ReadyThis module provide single sign-on capability for your Drupal site by implementing the CAS protocol . When using this module, local Drupal user accounts are still used, but the authentication process is not handled by Drupal's standard login form. Instead, users are redirected to your institution's CAS server to collect credentials.
casLatest stable 3.1.027,108 sitesContent Access
ReadyContent Access allows you to manage permissions for content types by role and author. It allows you to specify custom view, edit and delete permissions for each content type. Optionally you can enable per content access settings, so you can customize the access for each content node.
content_accessLatest stable 2.1.026,834 sitesRedirect 403 to User Login
ReadyRedirect the HTTP 403 error page to the Drupal /user/login page with an optional message that reads: "Access denied! You must login to view this page." Also, the desired page is appended in the url query string so that, once login is successful, the user is taken directly where they were originally trying to go.
r4032loginLatest stable 2.2.325,093 sitesEmail Registration
PartialAllow users to register using an email address. Users can then log-in using their email address and password for authentication. This module aims to solve some usability issues in managing accounts on a Drupal site. On many sites the idea of a "username" is not necessary while the email is necessary.
email_registrationLatest stable 8.x-1.424,295 sitesSimple OAuth (OAuth2) & OpenID Connect
ReadySimple OAuth is an implementation of the OAuth 2.0 Authorization Framework RFC . Based on League\OAuth2 This module uses the fantastic PHP library OAuth 2.0 Server from The League of Extraordinary Packages . This library has become the de-facto standard for modern PHP applications and is thoroughly tested. Recommendation Check the official documentation on the Bearer Token Usage .
simple_oauthLatest stable 6.1.124,046 sitesECA: Event - Condition - Action
ReadyECA is a visual automation and orchestration framework for Drupal. ECA enables users to model workflows, business rules, approvals, content behavior, integrations, and AI-powered processes without writing custom code. ECA lets you automate how your Drupal site behaves through a visual workflow builder.
ecaLatest stable 3.1.822,049 sitesAdminister Users by Role
ReadyThis module allows site builders to set up fine-grained permissions for allowing "sub-admin" users to manage other users based on the target user\'s role. The module defines new permissions to control access to edit/delete users - more specific than Drupal Core\'s all-or-nothing 'administer users'.
administerusersbyroleLatest stable 8.x-3.620,886 sitesGroup
ReadyThe Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections Out of the box, Drupal only allows a person to view, create or edit the different content types you create. However, you might want to be able to let them view or edit all content types, but only in a specific section of the site.
groupLatest stable 3.3.520,284 sitesUsername Enumeration Prevention
ReadyWhat Is Username Enumeration Prevention By default Drupal is very secure (especially Drupal 7). However, there is a way to exploit the system by using a technique called username enumeration. Both Drupal 6 and 7 have this issue, but it is much worse for people using Drupal 6. This is because Drupal 6 does not have any built in brute force prevention.
username_enumeration_preventionLatest stable 8.x-1.419,917 sitesSAML Authentication
ReadyAllows users to authenticate against a SAML Identity Provider to log in to your Drupal site.
samlauthLatest stable 8.x-3.1419,485 sitesLogin Email or Username
ReadyThis simple Drupal module allows users to log in with either their username OR email address from the same input box on the standard login form (it turns the "name" field into a username OR email address field). REQUIREMENTS Core dependencies only.
login_emailusernameLatest stable 3.0.117,212 sitesUser protect
ReadyThis module allows fine-grained access control of user administrators, by providing various editing protection for users. The protections can be specific to a user, or applied to all users in a role. Note: Up until the D7 version, User Protect has a complicated configuration -- please take the time to read the very extensive module help before using it! Provided protections The following
userprotectLatest stable 8.x-1.416,696 sitesFlexible permissions
ReadyNow part of Drupal core 10.3 as the Access Policy API This module has been turned into a core system: #3371246: [Meta, Plan] Pitch-Burgh: Policy based access in core Please do not start a new project using this module, unless you are using Group v2 or v3. A v2.0.0 release will come out to bridge the gap between old code (this module) and new code (Drupal core 10.3).
flexible_permissionsLatest stable 2.0.116,643 sitesTwo-factor Authentication (TFA)
ReadyTwo-factor authentication for Drupal sites. Drupal provides authentication via something you know -- a username and password while TFA module adds a second step of authentication with a check for something you have -- such as a code sent to (or generated by) your mobile phone. TFA is a base module for providing two-factor authentication for your Drupal site.
tfaLatest stable 8.x-1.1316,337 sitesContent locking (anti-concurrent editing)
ReadyFeatures Block concurrent editing: When a user is editing a node, any other user that attempts to edit the same node will be blocked from doing so, and notified that the content is already being edited. By node type: This module can be configured to only lock certain content types against concurrent editing.
content_lockLatest stable 3.0.016,082 sitesRoleAssign
ReadyRoleAssign specifically allows site administrators to further delegate the task of managing user's roles while withholding the Administer permissions permission. RoleAssign introduces a new permission called Assign roles . Users with this permission are able to assign selected roles to still other users.
roleassignLatest stable 2.0.315,943 sitesLightweight Directory Access Protocol
ReadyLightweight Directory Access Protocol (LDAP) lets you: Login with LDAP credentials Single-Sign On available through 3rd party modules Provisioning from LDAP to Drupal Provisioning from Drupal to LDAP Setup Guide LDAP Server Defines how to communicate with the domain.
ldapLatest stable 8.x-4.1315,805 sitesProtected Pages
ReadyModule description Protected Pages modules allows the administrator to secure any page by password. Visit module configuration page and add path + password. After that the added path will be password protected. This module also allows you to send the details of this protected page to multiple users by email.
protected_pagesLatest stable 3.0.015,669 sitesReal Name
ReadyThe RealName module allows the administrator to choose fields from the user profile that will be used to add a "real name" element (method) to a user object. Hook_user is used to automatically add this to any user object that is loaded. It will also optionally set all nodes and comments to show this name.
realnameLatest stable 2.0.015,272 sitesMail Login
ReadyThis module enables users to login by email address with the minimal configurations. For configuring mail login go to "/admin/config/people/mail-login". Available configurations: Enable login by email address: This option enables login by email address. Override login form: This option allows you to override the login form username title/description.
mail_loginLatest stable 4.2.214,602 sitesMenu Item Role Access
ReadyMenu Item Role Access allows you to restrict to the menu items users see without having completely separate menus, controlling access all based on user role.
menu_item_role_accessLatest stable 8.x-2.413,480 sitesAccess unpublished
ReadyDescription: This is an easy to use module that grants access to view unpublished content (node, media, anything that implements EntityPublishedInterface) to anyone who has a unique URL and appropriate permissions. This module is useful for proofreaders, content checkers etc. Webmaster does not need to create user accounts and can keep the website safer.
access_unpublishedLatest stable 8.x-1.913,426 sitessimpleSAMLphp Authentication
ReadyThis module integrates Drupal with SimpleSAMLphp , the most robust and complete implementation of SAML in PHP. It makes it possible for Drupal to communicate with SAML or Shibboleth identity providers (IdP) for authenticating users. The resulting Drupal site can effectively act as a SAML or Shibboleth service provider (SP).
simplesamlphp_authLatest stable 4.1.013,197 sitesFast Permissions Administration
ReadyThis module is here to alleviate frustration when trying to manage permissions in Drupal. By providing a better permissions interface hopefully a few innocent keyboards and mice can be saved. Branches 4.0.x : Drupal 9, 10 & 11. 3.0.x : Drupal 8+9 (no longer recommended).
fpaLatest stable 4.0.212,446 sitesRedirect after login
ReadySUMMARY - Redirect After Login ================================= A simple module providing a feature to redirect users according to an URL-defined the parameter after logging in. Allows redirecting only the internal URL of the site. CONFIGURATION ------------------- 1.
redirect_after_loginLatest stable 3.0.212,115 sitesDomain
ReadyThe Domain project is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. Drupal 10/11 status Releases in the 2.x and 3.x series are compatible with Drupal 10.2 and higher. The 2.0.x branch is considered feature complete and will receive bug fixes only.
domainLatest stable 3.0.111,725 sitesCOOKiES Consent Management
ReadyUser consent management module for Drupal. The module enables existing third-party-integration modules continued to be used in compliance with the GDPR (of course without manipulating their code). It solves the basic problem that when using third-party-integration modules, the user must agree to the use of cookies (according to GDPR) before they are installed.
cookiesLatest stable 1.2.1611,474 sitesNo Request New Password
ReadyRemove "Request new password" link from block and user page. This module is very useful for sandbox sites where test users can't change your own password and for third party authentication like LDAP. Configuration Once installed and enabled then configure the options at "admin/config/people/noreqnewpass" - you will get checkbox 'Disable Request new password link' .
noreqnewpassLatest stable 8.x-1.611,256 sitesBlock Content Permissions
Not yetAs of Drupal 10.1.x-dev, this module is no longer needed and the "Block Content" core module's permissions can be used instead. See migration notes below. There are no plans to support Drupal 11+. The Block Content Permissions module allows you to control access to administer block content types (custom block types), administer block content (custom block library), and create, update, or delete
block_content_permissionsLatest stable 8.x-1.1111,244 sitesLoginToboggan
Not yetThe LoginToboggan module offers several modifications of the Drupal login system in an external module by offering the following features and usability improvements: Allow users to login using either their username OR their e-mail address. Allow users to login immediately. Provide a login form on Access Denied pages for non-logged-in (anonymous) users.
logintoboggan10,763 sitesBlock Region Permissions
ReadyThe Block Region Permissions module allows you to control access to administer blocks within each theme's regions. The following permissions are added: Administer: [ theme ] - [ region ] Grants access to manage a theme's region: View region's header, message, and blocks on block layout page View region in region selector fields on block layout page View region in region selector field on
block_region_permissionsLatest stable 8.x-1.69,990 sitesCustom Permissions
ReadyThis very light-weight module allows additional permissions to be created and managed through a administration form. It uses the menu access system to allow or disallow access to it. On the administration page a user is able to create a permission with name and path(s). These permissions can then be assigned to roles on the permissions page.
config_permsLatest stable 8.x-2.39,926 sites