In this month’s explore the core series, we cover Access Control Lists (ACL). ACL are one of the most powerful parts of Joomla’s core, allowing you to give permissions to users to do as much or as little as you want them to while using your website.
Though the default Joomla ACL is designed to be simple and straightforward, the ability to customize access for various uses means Joomla provides a very flexible method for defining access throughout your site. After firstly running through the concepts you need to know, I will be sharing with you a number of scenarios I’ve implemented for sites that extend the core ACL functionality to meet the client’s requirements.
What is ACL?
ACL stands for Access Control List, and is a list that defines access permissions and roles for what you are able to do in any system that implements ACL principles. Joomla uses the concept of ACL to allow site managers to define, administer and control permissions for users on your website, deciding what they’re able to view, add, update and access when logged into the site.
How does ACL work in Joomla?
For basic websites, the default ACL is sufficient to allow you to set up simple access to your Joomla website.
When you install a Joomla website you’ll be prompted for a username and password to create a Super User account. This account has permissions to modify everything on the website, which is needed in order to configure your Joomla installation. Once you have the site created, you can go to Users > Manage to then add new users to your site. Adding additional users to the Administrators user group where needed will allow you to have a team managing your site. Adding users to the Registered user group will give them the ability to log in and see content that you only want logged in users to see. There’s additional examples further in this article. You can also configure menu items that point to the login page and/or configure login modules to enable users to login from the frontend of the site.The real power of Joomla’s ACL system comes into action more when you start looking at giving users other levels of access. The flexibility is there so that when users login, you know exactly what they are able to access on the site based on their User Group.
Copyright
© Joomla.org