Setting up a private members' area using the "Taxonomy Access Control" module in Drupal
Note that the "Taxonomy" built in module is not the same as the "Taxonomy Access Control" contributed module.
The "Taxonomy" module in Drupal allows you to categorise content, and working with that and the "Taxonomy Access Control" module, allows you to set up a private "members-only" area of your Drupal website.
Before we begin, download the Taxonomy Access Control module from: https://drupal.org/project/taxonomy_access and install it into your Drupal installation by going to "Modules" and "+ Install new module". Upload your file that you downloaded from the Taxonomy Access Control web page, and when it's finished doing things, click to "enable module". This takes you to the modules list, where you need to tick a box and click "save" to enable it.
It worked fine for me, but if you do get error messages, please try the help on the https://drupal.org/project/taxonomy_access page.
Now let's start configuring the areas of the website.
Go to the modules menu and next to "Taxonomy", click "configure".
We are going to be using the "Forums" Vocabulary", i.e a list of topics that can be used around the website, and we will link content to those topics, and finally add/remove users from topics, thus enabling them to see the content or not.
So next to the Forums Vocabulary (this is a special vocabulary which we can use with web pages), click "Add terms".
(If you've lost your place at this point, we're in "Modules" .. "Taxonomy" .. "Configure")
Add the term "private" (don't worry about a description; just click save at the foot of the page)
You could add the term "public", in the same way, and as many different "areas" as you wanted.
Now we can configure Taxonomy Access Control.
Go to "modules" and click "configure" next to Taxonomy Access Control.
- choose "authenticated user... edit access rules"
- under "New", click the dropdown to see your Areas, like "private".
- choose "private".
- under "view" in the main table, you will see "A I D" (allow, ignore, deny). choose "allow".
- now click add (or save if you've already added) and you will be taken back to the list of user roles
- choose "anonymous user... edit access rules".
- again, choose "private" but under "view" click "D"
Next we have to make sure that basic pages can be linked to taxonomy!
Under "structure", "Content types" click "manage fields" next to "basic page".
Add an "existing field" called "Area" (or whatever you want) and make it type "taxonomy_forums".
Now we're going to create some content and make it private.
So now at the top of the screen (the main Drupal menu), click "content", and then click "+ Add content".
Add a new "basic page" and under "area" link it to "private" (the term we set up earlier).
Finally, before we test this all out, you may already have seen a link saying:
"The content access permissions need to be rebuilt. Rebuild permissions.".
Click that link.
Now if you go to the home page as an anonymous user (try Chrome's incognito mode) you won't see your new page - but if you're logged in, Hey Presto! - you will.