Join Jen Kramer for an in-depth discussion in this video Introduction to ACL, part of Joomla! 1.7 and Joomla! 2.5: Access Control Lists in Depth.
Joomla! 1.6 introduced him very important changes in the permission's realm, and now these changes will be carried into all future versions of Joomla! Access Control Lists or ACL is one of the major new features in Joomla! If you're in a situation in which a group of users or a single user needs to see certain areas of the website but not others, or if person A just need to edit just this area of the website, but person B needs to only edit that area, then ACL may be helpful to you, just because you can, doesn't mean you should.
This is the rule of law when it comes to ACL, and you should always ask yourself if ACL is truly needed. If you're building a simple website, you may not need to watch this video title at all, because the default ACL settings in Joomla! are just fine for your website. Be sure you watch Chapter 10, ACL Essentials, in the Joomla! 1.6 Essential Training available here at lynda.com, before you watch, Joomla! 1.7 Access Control Lists In Depth. The ACL Essentials chapter in Joomla! 1.6 Essential Training will give you a sense of what Joomla's default ACL settings can do for you, which is actually quite a bit.
Indeed, for 90% of the sites I've ever built, Joomla! Default ACL had everything I needed to get the site built. However, you'll inevitably encounter a site in which you need a bit more control over who can see what, who can edit what, and who can configure what on a given website, that's where ACL comes in. It's a very powerful system that will allow you to do anything you want, which also means that it can be confusing and that there are many issues to consider and test before implementing it. There are four configurable elements to making ACL work; these include users, core permissions, groups and access levels.
A user is already familiar to you and these are the accounts we create for individuals allowing them to login to the front end or public facing side of the website, as well as the backend or administrator side of the website, users are assigned to groups. Core permissions describe what a user can do. There are 10 core permissions in Joomla! 1.7.The off-line access permission is a new core permission in Joomla! 1.7, while the other core permissions were present in Joomla! 1.6. These core permissions include create, edit, edit your own, edit state, delete, access component, site login, admin login and super administrator.
Core permissions are assigned to a group, not to a user. A group is a group of users with permissions in common, by default; the groups in 1.6 include public, registered, author, editor, publisher, manager, administrator and super-user. These groups have similar permissions as they did in 1.5 by default. However, you could change the permissions if you wish or you can delete these groups all together. Groups may be assigned permissions for editing the backend of the website.
Remember, if you wish to have one user with specific permissions, you may need to create a single person group for them. An excess level controls what specific groups are allowed to view on the front end of the website, as well as the backend of the website. In Joomla! 1.5, access levels included public, registered and special these are still available in Joomla! 1.6 and 1.7 and they are still configured in the same way. Public means that anyone can view the content, registered means that registered users and higher can view the content, and special means that authors, editors, publishers, managers, administrators and super-users can view the content.
It's now possible to make a new access level, controlling more finely who gets to see which content. I'll go through group's, core permissions and access levels in detail in the next few videos, and I can't say this enough, just because you can, doesn't mean you should, you do not have to use ACL at all on your website, you can leave all of these default settings alone, and for the smaller websites, you won't need to change a thing anyway.
- Introducing access control lists
- Defining users, groups, and access levels
- Assigning core permissions
- Creating users and assigning them to groups
- Assigning viewing access levels to modules, articles, and categories
- Customizing back-end editing for improving client usability
- Adjusting permissions for each category of content
- Hiding a site behind a login