671 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Taxonomy Access Control Lite

This node_access module governs access to nodes based on the taxonomy terms applied to the nodes. A simple scheme based on taxonomy, roles and users controls which content is visible.

Simple Access

Simple access Settings

This module allows administrators to make some nodes private and/or editable by certain user roles.

OAuth 2.0

OAuth 2 logo

Simple OAuth is an implementation of the OAuth 2.0 Authorization Framework RFC. Using OAuth 2.0 Bearer Token is very easy. See how you can get the basics working in less than 5 minutes! This project is focused in simplicity of use and flexibility. When deciding which project to use, also consider other projects like OAuth, an OAuth 1 implementation that doesn't rely on you having https in your production server.

IP Ranges

IP Ranges UI

IP Ranges is a module that let's you completely ban both single IP-addresses as well as
full ranges from your site. The ban is triggered already at the early bootstrap phase, so you
can get rid of unwanted visitors as early as possible without wasting server resources.

You can also define whitelists that override blacklists, both single and ranged.
The UI is similar to core ip-ban, so you will feel like home immediately.


Just enable the module as usual.


After enabling the module, go to admin/config/people/ip-ranges to find form where you can enter either single IP-address or IP Range, and a list type.

IP-address range is entered in the form of -
(This is currently the only allowed range form, other types like bitmasks may come at later stage).

Type can be either "blacklist" or "whitelist",
where blacklisted IP's are denied from the site, and whitelisted are allowed.
Whitelists always override blacklists.


Restrict IP allows you to enter whitelists. All other IP's are banned.
Unlike IP Ranges, it does not actually restrict access to the page, but rather

User Relationships

Example of the relationship management screen.

Administrators are able create relationship types (friend, coworker, etc). Relationship types can be setup to be one-way or mutual. If a relationship type is one-way (subscriber) only the requester is shown as relating to the requestee. Relationship types can also be set as needing or not needing approval.

Administrators can give users the option to auto approve relationships on a per-relationship type basis.

Bundled with the main module are add-on modules providing functionality that not every site will need:

  • User Relationship Mailer will (conditionally) send email notifications regarding relationship creation/removal/approval/disapproval/cancellation.
  • User Relationship Defaults creates default relationships to any user joining the site (think Tom on MySpace).
  • User Relationship Implications allows admins to specify implied relationships (Manager implies Coworker) that are automatically created.
  • User Relationship Invites requires the Invite module and allows users to specify a relationship to a user that they invite to join the site.
  • User Relationship Privatemsg integration with the privatemsg module showing your relationships in the quick select list.

Domain Variable

Screenshot of settings form with mixed variable realms

This module aims to be a replacement variable handling module for Domain Access, allowing mixed variable realms (domain x language) to be configured.

In other words, it allows setting different variable values for each domain and for each language at the same time.

This module supports almost all of the functionality provided by Domain Configuration, Domain Settings and Domain Theme. Differences are listed in the documentation.

Commerce File

Commerce File 7.x-1.x - field widget preview

Extends Commerce License with the ability to sell access to files.

The user buys a product and gets access to all files attached to that product's commerce_file field.
Adding new files to the commerce_file field (a new software version, for instance) makes them immediately available to all users who have an active license.

Sponsored by Commerce Guys


  • The "License completion message" checkout pane allows the customer to download the newly licensed files even if he is not logged in.
  • Licensed files can be downloaded or streamed from the user's Files tab.
  • File licenses can be time limited, and are automatically expired (by cron) once that time passes.
  • The number of downloads / streams can be limited. Once the limit is reached, the file is listed, but can't be accessed.
  • Integrates with Amazon S3, allowing licensed files to be retrieved directly from Amazon, using a secret and temporary URL.

See the documentation page for information on getting started and a comparison with the legacy commerce_file 1.x branch.

Important: There is no upgrade path from 1.x to 2.x. See #2049593: Upgrade path from 1.x to 2.x.

Domain Path

Domain Path for a node

The Domain Path module allows the creation of separate path aliases per domain for nodes created using the Domain Access module.

The module is ready for testing, but requires Domain Access 7.x-2.7 (or higher) to work correctly. For background, see this issue.

Drupal 6

The Drupal 6 version requires URL Alter and Domain Access 6.x.2.11 or higher.

Menu view unpublished

Small module that allows users to view menu links to unpublished nodes.

The menu system from Drupal core hides menu links that link to nodes that are unpublished. This modules provides a permission that undoes this behavior, but only if the user has access to view the (unpublished) node.

Field Readonly

Field Readonly displays non-accessible fields in edit forms as read-only items.

Field Readonly displays non-accessible fields in edit forms as read-only items.

Modules like the essential Field Permissions allow to make fields non-accessible, aka private, by completely hiding them in edit forms even if user has the permission to view them.
Field Readonly lets you display these fields back in edit forms, rendered the same way as in view mode.

Contextual Administration

Contextual Administration is an administration tool based on CTools Page Manager module. It allows for the deployment of custom administrative pages through a typical database driven mechanism or can take advantage of the typical page_manager exports through custom modules + exports or features module.

Visit our Google+ Page:

For more videos and regular updates: Contextual Administration

Video Documentation

Topic Link
Arbitrary Node Create http://youtu.be/Luc-bGGxa6c
VBO Administration Deployment http://youtu.be/M9KbemHvy4E
Custom Vocabulary Administration http://youtu.be/UNXCYeTZj7Y
Automatic Node Reference on Node Create http://youtu.be/BZxoUzIE5M4
Url Restructuring of Node View/Edit http://youtu.be/O4vvzSG7UAY

Path Access

The Path Access module gives site administrators an additional layer of access control to all pages of a Drupal site.

Trash Flag

Provides trash functionality using flag, views, and node access combined with (a lot) of permissions

NOTE: As of the 1.0 stable release, this requires the 3.x version of the Flag module. If you are still using the Flag 2.x branch, you'll need the 1.0-beta5 release of trash_flag which is not supported.

Domain Access Entity

Entities edit form domain field widget.


This module provide a solution to add Domain Access on entity.

You can use this module to restrict access for entity as you do with node.

This module can add domain access only on fieldable entities

Required by role

Required by role in field settings form

Field required by role is a module that improves core "required" functionality.

Similar to CCK Required by role brings extra features such as:

  • Ready for all entities, including custom entities.
  • Doesn´t need extra configuration, just install.
  • Respects previous configuration.
  • Configuration per field instance.

Module Grants

Accessible content menu option

D6 is approaching end of life. We'll be doing maintenance fixes only.

Module Grants makes modules that deal with content access permissions operate better on unpublished (as well as published) content. It also makes sure that access grants behave in an orderly fashion when such modules are used together.

  • Access grants are tested for unpublished content just as they are for published content
  • Allows modules that feature fine-grained access control (e.g. Workflow, TAC-Lite) to work together
  • While Module Grants' raison d'etre is to act as a catalyst amongst other modules when dealing with unpublished content and/or fine-grained access control, it does come with a handy feature of its own via the Module Grants Monitor submodule, which is bundled with the package download. After enabling Module Grants Monitor, a new item, Accessible content, appears in your navigation menu. Clicking on it reveals a summary of all the content the logged-in user has access to (i.e. view, edit) after access controls have been applied by the content access modules installed on your site. So if you have Workflow installed then what's editable to you and what's only viewable to you will depend on the workflow state the content is in. With the TAC-Lite module enabled it will depend on the vocabulary term(s) used in the content.
  • Thanks to dankh, Module Grants now also has Views support, allowing you to add to your views edit and delete links that properly honour permissions.

Disable RSS

This module will disable the core RSS feed at http://mysite.com/rss.xml, and remove any reference to it in the html header.

The mechanism for action is simply to return page not found for that path, so this module may not play nicely with other modules providing variations to that path, such as Views or RSS Permissions.

Access unpublished


Easy to use module grants access to view unpublished content to anyone who has a unique URL and appropriate permissions. Visitor can be anonymous or authenticated user with the user role.

When administrator or users with enabled privileges visit (or save) unpublished node, can see link for direct view that unpublished content. Unique URL link is displayed as Drupal message or in node content.

Always Visible

Allows administrators to override the visibility of menu items. Normally, items which are inaccessible won't show up in the menu. Using this module, menu items can be set to always show up. Their contents will still be restricted.


Restrict node page view

Have you ever used a slideshow nodetype that you need to be published but don't want the node be accessible by itself using then node/XXX path? This module is for you!

With this module you can disable direct access to node pages (node/XXX) based on nodetypes and permissions.

Enable the module and don't forget to configure your permissions.

Views Access Callback

Views Access Callback

Provides callback-based access control for Views.

Available callback functions are defined by modules using hook_views_access_callbacks() function (in the same way as in hook_perm()), then could be set in in view's "Access restrictions" configuration.

Access Control Bridge


The Drupal community has developed several excellent modules to get fine-grained access control over a node (e.g. Content Access, Domain Access, Workflow, Organic Groups, Taxonomy Access Control, ...)

Node Option Premium

This module adds a new node option Premium content along with core publishing options (Published, Promoted to front page, Sticky at top of lists).

When a node is published as premium content, only users with proper privileges may view the full content of the node.

Non-premium users can still access premium nodes but only get the content rendered in teaser context, even when trying to view the full content. An additional message informs them that the content is available to premium users only.

Access Control Kit

The Access Control Kit (ACK) module provides a customizable system for controlling access to all kinds of things in a Drupal site. It gives site builders the flexibility to define access based on whatever conditions make sense for the site through an easy-to-understand UI.