I have a WP site and also have a external DB (means not WP DB) with users. The insertion process at that table uses the same algorithm as WP uses. What I’m need to do here is login in WP but using this external DB which is in the same host by the way. I check this links http://www.tyssendesign.com.au/articles/cms/connecting-to-external-database-from-within-wordpress/ and http://wordpress.org/extend/plugins/external-database-authentication/ and for the first is not what I’m want but for the second one is not compatible with WP 3+ and I’m using 3.3.1, any suggestion or docs or something else?
Leave a Reply
You must be logged in to post a comment.
You can override the core wp_authenticate function.
You would need to create a custom plugin and declare a new version of wp_authenticate. The function accepts a username and a password and returns a WP $user object.
wp_authenticate is a ‘pluggable’ function and it is found in the wp-includes/pluggable.php file.
I needed more features than I could find elsewhere so I wrote my own plugin – External Login.
It has these main features:
Let me know if you require another feature 🙂
https://en-gb.wordpress.org/plugins/external-login/
Have you tried the External Database Authentication plugin? Just because it hasn’t been updated in a while doesn’t mean it won’t necessarily work. At the very least you can look at their source code to see how they did what they did and use that as a basis to get what you need done.
Here is the code http://plugins.trac.wordpress.org/browser/external-database-authentication/trunk/ext_db_auth.php
I’ve just updated that old plugin for my needs. You can find the update @ http://www.7mediaws.org/extend/plugins/external-db-auth-reloaded
Yes, your plugin is awesome. Just what you need to improve and finalize your plugin is that in newer WordPress versions, there are two different tables that contain user data. They are wp_user and wp_usermeta. And in the plugin, it is provided only one table to authenticate. So if this feature goes right, definitely your plugin is 100% successful.
What else, is that there is a bug. As there is only one table to authenticate, so I couldn’t authenticate user roles and sync them. This means when I enable external login, the time I logged out, and login the next time, I am of subscriber role, that I have specified if no roles matches. So i loosed my adminship too. Kindly help and understand.