Registered Users Cannot Login - Super Users Can

Applies to
  • Joomla CMS v2.5.14

What?
This article is a note on how I fixed an issue on a client site. The website had a redirect on the login which would go to a page accessible by "registered" users but only "Super Users" could actually login. "Registered" users would not be able to login, despite their status in the admin panel saying "enabled" and "activated" (not blocked).

If I used a test account, none of the Joomla groups, not even "Administrators" could login. However set the same test account to a "Super User" and they would be able to login. Was the problem authentication? Restricted access to a component? A load of blab on ACL managers?

How?
In our case, the website had recently been migrated from Joomla 1.5.x to 2.5.x. I asked to examine the database and a quick scan in the assets table revealed 3 assets had the parent_id = 0. Only one asset can have that and that is "root".
  1. Login to your Joomla database using your MySQL database manager (eg. phpMyAdmin, MySQL Workbench)
  2. Open the #__assets table
    1. where #_ is the Database Tables Prefix value found by logging into your Joomla admin panel
    2. Browse to Site > Global Configuration > Server > Database Settings : Database Tables Prefix
    3. It should be a short alphanumeric value with a trailing underscore (eg. "abc12_")
  3. Check if you have more than one asset with a parent_id equal to zero:
    SELECT COUNT(*) FROM #__assets WHERE parent_id=0
    
    -- where #_ is the Database Tables Prefix value
    
  4. There can be only one:
    1. If the number returned is 1 then this article is not addressing your issue. This is a red herring.
    2. If the number returned is greater than 1 then run the following query:
      UPDATE #__assets SET parent_id=1 WHERE parent_id=0 AND id<>1 AND title<>'Root Asset'
      
      -- where #_ is the Database Tables Prefix value
      
  5. Done

phpMyAdmin alternative
The gist is simple, you can only have one asset that has a parent_id of zero. Login to your database using phpMyAdmin, open the table with the suffix "_assets" and order the data (clicking on the heading of the column) by their parent_id. If you see more than one record with a value of 0, then change it to 1. If it's name is "root..." and title is "Root Asset" then leave this as having a parent_id of 0.

The fix is immediate after the change is committed to the database.

NTS: Possible Related Error: "You cannot access the private section of this site"

Related Articles

Joes Revolver Map

Joes Word Cloud

count   website   select   than   check   account   same   tables   applies   users   asset   zero   registered   assets   joomla   super   test   prefix   could   database   issue   access   greater   site   panel   change   status   saying   would   number   returned   enabled   herring   open   addressing   query   mysql   able   login   title   using   admin   cannot   root   parent   where   phpmyadmin   value   equal   table   JoelLipman.Com

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin - Valid till 8 May 2022 3QnhmaBX7LQSRsC9hh6Je9rGQKEGNQNfPb
© 2021 Joel Lipman .com. All Rights Reserved.