There may be times when due to database or other issues, the Super Administrator assigned for a Joomla! installation may lose their super admin status and cannot login into the admin backend of the installation. One of the common situations used to be with the user synchronization procedure of the Joomla-SMF bridge. With new versions, that incidence has reduced, but this tutorial is useful for any situation where a super administrator cannot log in into the Joomla! admin backend.
So, sometimes, it is possible that there are NO super administrators left to administer the Joomla site! This sounds terrifying, isn't it?
However, this tutorial will teach you a way to recover that "position" after being bethroned :)
Click on the Joomla! version you have trouble with: Joomla 1.0.x | Joomla 1.5.x
phpMyAdmin
Thsi tutorial expects that you have access to phpMyAdmin. How to go there?
In the cPanel access given by your webhost (usually Unix/ Linux), click on MySQL databases. You will be taken to a list of all databases in your site. Go to the extreme bottom of the page and you will see a link to phpMyAdmin.
Basic SQL database knowledge is helpful in carrying out this recovery, but it is really not necessary and I will make it simple for you.
So, now you are in phpMyAdmin. Look at the left sided frame. There is a drop down list of all databases. Select the database of your Joomla! installation. As soon as you do so, you will get a list of all tables within the that databse listed in the left frame.
Joomla 1.0.x admin login problem and solution:
Database tables
There are a lot of tables in the Joomla MySQL database. But we will focus on three of them. If fact we will focus on three tables, three "id"s and many numbers!
Three tables:
- jos_users
- jos_core_acl_aro
- jos_core_acl_groups_aro_map
Two "id"s:
- user id (id)
- group_id (also referred to as gid)
- aro_id
Many numbers
- 25, 18, 62, 10 etc... don't get confused NOW.
Being an interconnected database, there are references to ids at different places and we have travel through them and correct them. It's like a treasure hunt. What are we looking for? The "id". The group_id of a Super Administrator in the database is 26. If you are interested in knowing the group_ids of different level of users in Joomla!, it's just here for academic purposes:
GID or Group ID values:
- 17, 'ROOT'
- 28, 'USERS'
- 29, 'Public Frontend'
- 18, 'Registered'
- 19, 'Author'
- 20, 'Editor'
- 21, 'Publisher'
- 30, 'Public Backend'
- 23, 'Manager'
- 24, 'Administrator',
- 26, 'Super Administrator' (IMPORTANT: Before Joomla 1.0.11, the group ID of Super Administrator was "25")
Solving the identities
Lets take the tour now. First click on the "jos_users" list on the left. The table details will open in the right frame. Look for the link "Browse" on top. Click on it.
You will be presented a list of all users listed in the order of their "id" (user id). This id is NOT their GID or aro_id! They are different. Look for the entry with username "admin" or whatever username you had for the Super Administrator. In most Joomla! installation, it is "admin" by default. Usually, the user id (id) for the "admin" is 62. And it will be listed first. So, it should not be difficult to find. In this row, go to the column "gid". For Super Administrators, it should be 26 (25 if before Joomla 1.0.11). If it is 26 (25 if before Joomla 1.0.11), fine. If not, click on "Edit" button on the left side of the row and change it to 26 (25 if before Joomla 1.0.11). Now, do this carefully - note down the "id" of the "admin". It is 62 as I mentioned earlier, by default, in most cases. Anyways, note it down.
Now, we go to our next destination - "jos_core_acl_aro"
Click on this table on the left and click "Browse" as earlier. In the list, locate number 62, or otherwise if it was different, under the column "value" (usually 4th or 5th column). Now, note down the aro_id of the same row under the column "aro_id". This aro_id for the admin is generally 10. Once you have noted down the aro_id, move on.
Final step
Last table: "jos_core_acl_groups_aro_map"
Click on this table and on the left and click "Browse". Its getting to the final steps now. Look for the entry 10, or otherwise if it was different, under the column "aro_id". Once you get there, note the number under the column "group_id". Is it 18? That's why you have the problem :( It should be 26 (25 if before Joomla 1.0.11).
Remember 18 means registered user and 26 (25 if before Joomla 1.0.11) stands for Super Administrator. All you need to do now is to change the group_id to 26 (25 if before Joomla 1.0.11). Click on the "Edit" button on the left side of the row and change the group_id to 25. SAVE IT.
TADA! You must now have been reinstalled as the unquestionable king/ queen of your Joomla! website :) Please try to log in into your Administration backend. If you can login, do not forget to come back to this page and write a line about your experience. We love feedback.
Joomla 1.5.x admin login problem and solution
This is even simpler. However, let us describe the symptom correctly first. This is the most common scenario if you landed here because of a Joomla 1.5 related issue: You type your 'correct' username and password, the login page appears again without reporting any errors! However, if you type a wrong combination, "Username and password do not match" error is reported. Strange, eh?! No worries...
Solution
You will need access to phpMyadmin here too. "Browse" the jos_plugins table. Look for the row that has "User - Joomla!" under "name". In the same row, check the value under "published". It should be "1"... if it is "0", that's the problem!Check the screenshot image below:
Now edit the row and change the 0 to 1 and save. Try logging in and voila! You are in :)
|