Trace: • authentication
Authentication
How To Remove Non-Default Authentication Plugins
If you can't login to a copied Moodle because the authentication plugin does not match your local situation, go to the database. Execute this sql statement:
UPDATE mdl_config SET value = 'manual' WHERE name LIKE 'auth';
Now the authentication plugin is set to the default plugin.
In some cases, such as for a Moodle copy which was originally using a CAS server, it may also be necessary to update the mdl_user table:
UPDATE mdl_user SET auth = 'manual';
Remove https login:
UPDATE mdl_config SET value = '0' WHERE mdl_config.name LIKE 'loginhttps';
And finally, some systems may use an alternative login url which you should delete:
UPDATE mdl_config SET value = '' WHERE name LIKE 'alternateloginurl';
And now all at once:
UPDATE mdl_config SET value = 'manual' WHERE name LIKE 'auth'; UPDATE mdl_user SET auth = 'manual'; UPDATE mdl_config SET value = '' WHERE name LIKE 'alternateloginurl'; UPDATE mdl_config SET value = '0' WHERE mdl_config.name LIKE 'loginhttps';
Don't forget to empty the cache folders in moodledata
!
Restore Deleted Users
Whenever you delete a user in Moodle, the mdl_user.deleted
column is set to 1. But that's not all:
- username is set to
"$user->email.".time();
- email is set to md5 hash of the new username
So to restore the user, you need something like the following:
-- Restore deleted users (Search for a dot [.], starting from the right of the string, return substring till right-most dot) UPDATE IGNORE mdl_user AS u SET deleted = 0, username = SUBSTRING(u.username, 1, (LENGTH(u.username) - POSITION('.' IN REVERSE(u.username)))), email = u.username WHERE deleted = 1
The IGNORE
keyword means: skip all problematic updates (e.g. duplicate key), but do perform the other updates.
You are here: start » moodle » authentication