I want to give registered users permission to access, but not edit a certain page. Ideally what I want is this: create a link or a menu item that is only seen and or accessible by certain signed in users. I would like to create a role to give to these people as they sign up, but I have noticed that Drupal is not quite like other content management systems I have used in the past. On a platform such as DotNetNuke you were able to assign a permission for a user to access a web page but not edit it. It appears from what I have seen that you can only add permissions for users to edit the webpage/content of which you give them. Is it possible to give someone access to a page without giving them any administrative privileges? Any modules that could help me out? Thanks!

3 Answers 3


It is correct that Drupal has only a very course access control structure for individual nodes (the basic access control system in Drupal is by content type). For more fine-grained access control than content type, you need to add a node access control module to your site.

There is a page at the Drupal.org wiki giving an overview of node access modules. You may start by reading that and try to find a suitable module. This page also provides a gentle introduction to node access control in Drupal.

One of these modules is Nodeaccess (also suggested by Ursula). It lets you control node access (i.e. view, edit, delete) by user and by role.

A simpler alternative is a module named Flexi access. This only let you set up lists of users (Access Control Lists) that indicate type of access (i.e. view, edit, delete) these users shall have. It may be simpler to set up and use than Nodeaccess if you don't need to control access by role.

Disclosure: I am a co-maintainer of Flexi access.


You are looking for the nodeaccess module: http://drupal.org/project/nodeaccess.

Once the module is installed and enabled, you can grant permissions - view, edit, delete, etc. with some granularity to the different roles - types of users (anonymous, authenticated, administrator, or roles you define and name yourself).

Permissions: https://example.com/admin/people/permissions

Menu items are also only visible for users associated with roles that have view permissions.


The way to pass without installing additional modules is to create views page. It has built-in access control by role, permission. And menu item will be hidden.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.