I am using Drupal 8 and I am a little bit confused that there is no core functionality to restrict the access to some nodes based on roles or users.

I found PageAccess, which is marked as unsecure and ACL/Access Control which are both dev and not working on my system.

Isn't there any option to do so? I need the private sector on my site and can't believe there is no way in Drupal.

Hope you can help me, because if not I have to redo the whole site with another wcms.


The Group module is what you should be looking at.

It creates groups as entities, making them fully fieldable, extensible and exportable. For this specific question, you'd enable the gnode submodule, and for each group type you would define the appropriate permissions (view, edit, delete, etc) for the various Content Types.

For the private sector (as in your question), it seems that you would want to grant access to what, in Group, is called "Members". But you wouldn't allow access to that part of the website for:

  • "Outsiders" (= logged in users who are not a member of a group).
  • "Anonymous" (site visitors that are not logged it).

More info


| improve this answer | |

Try using the Group module.

The Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections

It has a release candidate published, so it should be somewhat stable and an initial 1.x should be coming soon because it is actively maintained. Over 4,000 sites are using this module.

| improve this answer | |

There is the Access by Entity module that can do this.


There is also Permissions by Term.


There is also Taxonomy Access Control Lite.


| improve this answer | |

If all you want to do is control access to nodes or content types based roles one of the most straight forward modules is node view permissions

If you want to do anything fancier, like your own forums or groups of content editors etc then group as discussed by @Pierre.Vriens is hard to go past.

| improve this answer | |

We can use Node View Permissions module to achieve the requirement. Try this, hope it helps.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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