How to Use Joomla Access Control
Access control and Joomla can be really simple and it can be really complex, depending on the site that you're building. If you're not going to have any registered users on your site and you only have one editor ... well then you can ignore this video. It's pretty simple: your one user could be a site administrator, giving them access to pretty much everything they'll need and then nobody else will have access. You might be building a site where you'll want to have people accessing certain content that other people can't, so registered users or even more levels of access control where some users can do and see some things and others can't. Simply put, access control and Joomla controls what people can see and what people can do and there are five levels: public, guests, registered, special and super users. The one thing that's public are people who are on your site and not logged in. Guests are also on your site not logged in but, because you may want to hide some content from registered users and not from guests, then there's this level called guest; registered users are for people with accounts; special users are site administrators; and then of course super users, which you are today on your own site. This is all controlled through user groups. You'll notice on the left that the public is at the top, super users is at the bottom and each indentation indicates grouping where permissions get inherited. So, for instance, under the registered user we have author, editor and publisher. Each one of those has more permissions than the one previous, but by default inherits all of the previous permissions above it. An administrator has more permissions than a manager and obviously a manager has way more permissions than a guest. Finally, there's super user that has every permission. These are the ones that come with Joomla, but, of course, you can add your own. Finally, access control allows you to customise the control for any given article menu or module. For instance, here on the screen I've clicked on editor and I could disallow the editor group from ever being able to edit this particular article and we'll take a look at that in just a moment. The workflow for access control is to: set up a user group, decide the permissions for that group, create the users and test. So a simple illustration of how I've used this through the years is in a nonprofit organisation. I might have a user group called board members. Board members would be able to view articles in the board members category but nobody else would be able to. I then create each user for each board member, assign them to that group and then create a menu and articles that are also assigned just to the board member user group, so when the public or a guest or even a manager logs into the front end of the site, they can't see that menu item or that content. Alright, let's take a look and see how that works on your site. Go ahead and click on access levels. Once again, here are our five access levels that I mentioned earlier. If I click on groups, here are the groups that we have and it's quite simple to add a new one. Board members, the parent would be registered. The reason being is registered has certain permissions and I want those to be inherited to the board members but I don't want board members to have author, editor or publishing permissions, nor do I want them to be managers and of course they were above guests. So I chose registered as the parent so that all of the registered users abilities would be inherited by board members. Click Save and close and so you'll see board members represented here in the list on access levels again and you'll notice that registered users can't read board member content and that's good. So let's add a new one called board members, so let's allow our board members our super users and of course our administrators to view the board member content. We won't allow managers, guests or any other registered users to view this content. Click Save and close. Now it's just as simple as adding some content. I'm going to click on content, article, new article and let's call this the Joomla ville board minutes for may. We'll just throw some text in here: board minutes. Not a big deal. The category: we probably should have our own category here for board. We can fix that later but the key thing here is change the access level to a board member. Click Save and close. Now you'll notice that only board members, administrators and super administrators, of course. Go ahead and click on categories. Let's go ahead and create that new category and we'll call this board minutes. Click Save and close and then go back to that article and let's put it in the board minutes category. Click Save and close. So we have a category called board minutes, we have an article in the board minutes category and access has been given to board members. Click on menus and add a new menu item to the main menu called Board minutes. Let's just make it a category list and choose the board minutes. The key thing here: this can't be a publicly accessible menu item. It needs to be just for board members. That's the key. Click Save and close. So if I go over to my site, hit refresh, you'll notice that it's not showing up here because I'm not logged in. I'm going to go ahead and log in and the board minutes now show up, and I'm able to view the board minutes if I was logged in as a board member. Well, of course, it would show up for me as well. So that's a quick overview of access control in Joomla. It's unbelievably powerful. It controls what people can see and what people can do.
Tags: Joomla 3