Joomla 1.7. Access Control List explained

Posted by on in Joomla Tutorials
  • Font size: Larger Smaller
  • Hits: 15407
  • 10 Comments

User Groups

User Groups are used to control what your user can do on the website; for instance, create, edit, and delete articles or categories on the website, work with the menu system, configure extensions, and so on.

Joomla 1.5.x

The ACL in Joomla 1.5 is hierarchical, each User Group inherits permissions from the group below it. There are only 4 groups available for Public Front–end users and 3 groups for Public Back–end users. The customization of users' groups wasn't possible if you wanted to create a special group for your customers. Each user can be assigned to only 1 defined User Group.

User Group

Assign 1 User Group to a new user

Joomla 1.7.x

The ACL in Joomla 1.7 is not hierarchical; you can build unlimited user–defined groups. A user can be assigned to multiple User Groups with unlimited user–defined Access Levels. User Groups are assigned to Access Levels. Any combination of User Groups can be assigned to any Access Level.

In Joomla 1.7 the User Manager has been extended to 3 sections: Users, User Groups and Viewing Access Levels.

User Manager: User

Configure the user's settings with User Manager

User Manager: User Groups

Manage user groups easily

As you can see the user can be assigned to several User Groups. Joomla 1.7 allows you to create unlimited User Groups for various needs.

Edit Users

Edit User screenshot

Access Levels

Access Levels control what your user can see on the website. You might restrict the user to see certain categories, articles, menus or components on the website.

Joomla 1.5.x

Access Levels are fixed and restricted to 3 levels: Public, Registered and Special. The Access Level covers all your articles, component, modules and plugins. Each Access Level belongs to a defined User Group.

Access Level - Joomla 1.5

Choose predefined Access Level for an article

Joomla 1.7.x

In Joomla 1.7 you can build unlimited Access Levels with any combination of User Groups can be assigned to them. These settings are located in the menu item Users of the menu toolbar.

Access Level - Joomla 1.7

Create, edit or delete an Access Level

Let's say we create a new Access Level and name it "Customer Access Level" with assigned groups Manager, Author and Customer Group. Check the necessary box for each User Group and click "Save".

User Manager: Edit Viewing Access Levels

Assign specific User Groups to the Access Level

After creating a new Access Level you can apply it to any articles or categories on the website. Below is the example of setting up the Access Level for an article.

Access Level - Joomla 1.7

Choose a pre–customized Access Level for an article

Permissions and Actions

The main purpose of Permissions is allowing or denying access to the functionality of your website. For instance, you can allow a User Group to create and edit content only, but restrict access to the components.

Joomla 1.5.x

Permissions in Joomla 1.5.x has a fixed value and is assigned to defined User Groups. You cannot change or create a new User Groups with preferred permission settings. The permission concept isn't flexible and the customization of user groups is seriously limited.

Joomla 1.5 permission table

The permission table of Joomla 1.5

Joomla 1.7.x

Below you can see the screenshot of a typical interface for Permission Settings. The settings include all created User Groups on your website. For each User Group you can set the Actions and Permission Level.

Action Permission Joomla 1.7

Action and Permission settings

A User Group has 9 Actions:

  • Site Login – Allows users in the group to login to the front - end site.
  • Admin Login - Allows users in the group to login to the backend administrator site.
  • Super Admin – Allows users in the group to perform any action over the whole site regardless of any other permission settings.
  • Access Component – Allows users in the group to access all areas on the backend administrator site except Global Configuration.
  • Create – Allows users in the group to create any content in any extension.
  • Delete - Allows users in the group to delete any content in any extension.
  • Edit - Allows users in the group to edit any content in any extension.
  • Edit State – Allows users in the group to edit the state of any content in any extension.
  • Edit Own – Allows users in the group to edit any content they own in any extension.

The Action has 4 Permissions:

  • Not Set – No permission. (Available only in the Public User Group).
  • Inherited – The permission from the parent group will be used.
  • Denied – No matter what the parent group's setting is, the group being edited cannot take this action.
  • Allowed - The group being edited will be able to take this action

The Joomla 1.7 ACL defines 4 permission levels which can override one another. The low permission level uses the permission from parent level.

  • Level 1: Global Configuration
  • Level 2: Component Options
  • Level 3: Category
  • Level 4: Article

Global Configuration

Defines the default permission for each user group and actions.

Permission level Global

Global Configuration settings

Components

Overrides the default permission for components. For instance, Articles, Menus, Users, Banners and so on.

Permission Components

Components settings

Category

Overrides the permission of Global Configuration and Components. It's available for components with categories including Articles, Contacts, Banners, Newsfeeds, and Weblinks.

Permission Category

Category settings

Article

Overrides the permission of Global Configuration, Components and Category. It's only available for articles in Joomla 1.7 core.

Permission Article

Article settings

With a plain 4-levels structure you can customize permission settings from the smallest object to the biggest one. One thing worth to mentioning here is that with the permission value "inherited" you can configure low-level permissions more effectively and faster.

The conclusion

With the launch of Joomla 1.7 the ACL mechanism added great value to the whole content management system. It gave us more ways to customize the user groups and assign permission for various purposes. Joomla 1.7 ACL is a serious step in the improvement and increased the flexibility of the system. If you have any opinions feel free to share them it out here in the comment box.

Rate this blog entry:
Joomla! and Open Source fan. In spare time he writes the blog posts about Joomla Tutorials including reviews of popular Joomla Templates, Extensions and services. If you have started learning Joomla just buzz him via Skype, He would be glad to help you :).

Comments

  • Marco Poet
    Marco Poet Wednesday, 12 October 2011

    This is an awesome article. Thank you!!

    Question though: In this matrix it says (V 1.5) "Author - Edit own content". I know 1.5 will be "end of life" soon, but: Is there a solution for it? I cannot find any website that explains, how Authors can edit their own article.

    http://www.joomlashine.com/images/content/blog/joomla-tutorials/joomla-17-access-control-list-explained/joomla-15-permission-table.png

  • Tuan
    Tuan Thursday, 13 October 2011

    Masa,

    You have to login as Author via Login module in front - end interface of the website. After that you go to the article that want to edit. Please note, you can edit only articles that author is you.

    http://www.joomlashine.com/images/content/blog/comments/author-edit.png

  • Marco Poet
    Marco Poet Friday, 14 October 2011

    Hi TuanBA:
    Thank you very much for great article on Joomla 1.7 ACL.
    I was trying to understand this new ACL from Joomla 1.6 and was never successful in it. Now after reading your article its more clear. I am going to read this article once again and going to share it to all the joomla community. Its a wonderful effort of explaining new ACL.

    Keep up the good work
    Regards
    Amit Patekar

  • Tuan
    Tuan Tuesday, 18 October 2011

    Hey Amit,

    Glad that you are clear now with Joomla 1.6/1.7 ACL. Hope to bring new more helpful articles for you and our readers.

    All the best,
    Tuan.

  • Marco Poet
    Marco Poet Wednesday, 02 November 2011

    Tuan,
    Nice article very well explained.
    I am new to Joomla...

    How can I create a user group for an extension in Joomla 1.7?
    For example: Joomsocial group or Joomshoping group, etc

    I am trying to control the user registration to one or more extensions.

    Thank you
    Victor

  • Tuan
    Tuan Wednesday, 02 November 2011

    Hi Victor,

    Thanks for putting a note. It depends on the installed extensions and its capability to ACL. For instance, in the blog extension Easyblog there is the tab "ACL" which allows the administrator to configure the permission of extension.

    http://www.joomlashine.com/images/content/blog/comments/acl.png

  • Marco Poet
    Marco Poet Sunday, 27 November 2011

    Hi, have a nice day, n nice article!

    Reply Cancel
  • Marco Poet
    Marco Poet Friday, 06 January 2012

    Excellent article , clearly explained and great detail and diagrams too. Well done

    Reply Cancel
  • Marco Poet
    Marco Poet Friday, 10 August 2012

    awesome joomla tutorial..thanks for sharing..:D

  • Marco Poet
    Marco Poet Monday, 14 January 2013

    i want users to choose the acl groups ad the registration form

Leave your comment

Guest Thursday, 23 May 2013

Get the latest Updates!

Subscribe to RSS channel Become our Facebook fan Follow us via Twitter Connect on LinkedIn Watch on Youtube

Search JoomlaShine

FIND US ON FACEBOOK

POPULAR

Finally, Joomla 2.5 has been released, so have you found suitable extensions for your Joomla site? Let's take a look at Joomla Extensions Directory (J
Rated 5 stars based on 40 votes Joomla 2.5 Made Easy - Ebook by JoomlaShine 89 pages Language: English, German, Danish
Close your eyes and try to imagine the present without videos and images. Oh my god, it's terrible, right?! Those things help me relax and feel full
Rated 4 stars based on 24 votes Deutsch Overview Joomla Template frameworks for developers Joomla templates satisfy many Joom
5 excellent shopping cart extensions for Joomla webshops Apparently, the more the Internet develops, the more new online shops are launched. I'm n

Content License

You are free:

Content Copyright

  • to Share — to copy, distribute and transmit the work
  • to Remix — to adapt the work
  • to make commercial use of the work
You are here:HomeBlogTuanJoomla 1.7. Access Control List explained