=== Plugin Name === Contributors: charlener Donate link: none Tags: authentication, login, database, MSSQL, MySQL, PostgreSQL Requires at least: 2.7 Tested up to: 2.7 Stable tag: 3.1 A plugin that allows the use of an external database (MySQL, PostgreSQL, or MSSQL) for authentication into wordpress. Supports various password hashing methods and user role checks from the external database. == Description == A plugin that allows the use of an external MySQL, PostgreSQL, or MSSQL database for authentication into wordpress. It requires you know the encryption method for the passwords stored in the external database and allows you to use MD5, SHA1, plaintext, or enter the hash/salt method yourself. It also allows you to enter a custom message for users concerning logins, and it disables password reset/retrieval within the wordpress system on the user-end. This plugin also now supports user role checks from the external database: you can set the plugin to check from a specific role field and compare to a value to allow login to wordpress. For WP-MU 2.6.5, use 3.05 3.1+ is now compatible with WP-MU 2.7 or higher. If you want to connect to a PostgreSQL or MSSQL database, you will need to install the MDB2 PEAR database abstraction package and relevant database drivers. MySQL continues to use the built-in PHP functions. This plugin is particularly useful if you want users to login to do groupblogging, but want some control over who can login due to previous records. To do this, you'll also need to change new user default role in Settings->General to something other than merely a subscriber. == Installation == 1. Prepare your WP admin account on your external database: make sure at least the admin username and password can be pulled from the external database. 1. Change "New User Default Role" in Settings->General, if desired, to whatever level of control you wish externally authenticated users to have. 1. Upload `ext_db_auth.php` to the `/wp-content/plugins/` directory 1. Activate the plugin through the 'Plugins' menu in WordPress 1. Enter your external database settings in Settings->External DB settings == Frequently Asked Questions == = My admin account for WP doesn't work anymore! = We're authenticating externally, right? Take that admin account you initiall created in your WP setup and make sure it's in your external database. Once it's in there you'll be able to log in as admin with no problems. If you can't do this, delete the plugin and it'll restore access using your WP admin account at least. = Why external? = Because Moodle seems to have issues with having blogs actually have commenting abilities. = My users are confused and keep on resetting from the WP login... = This is no longer a problem, as password resets within WP are now disabled with the latest version of this plugin. For further instructions for your users that will appear in both the login box and the error message when they try to reset passwords, make sure to fill out "Custom login message" in the plugin settings. = Can I still create accounts within WordPress? = Yes, but if there is a situation where you have a pre-created account on WordPress, then add an account with the identical username on the external database, the WordPress data will be overwritten. Best practice is to not really use the user admin interface on WordPress for account addition. = Can I update user information within WordPress? = Yes, and your individual users can do so, too. However, if additional data fields that match WP's additional data fields are set in the plugin configuration, it will overwwrite WordPress user information every time. = My external database's passwords are hashed with a salt/datestamp/phases of the moon/etc = Choose "Other" as your encoding method, then enter the method you use in the "Other" textbox as PHP code. = I'm locked out! = Delete or rename the plugin; if it's a DB connection-related error most likely you have the wrong connection, etc. information for the external database. == Screenshots == 1. Plugin config screen 2. Example login warning message upon access to wp-login.php 3. Example "Lost my password" retrieval attempt