Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Active Directory Integration

Allows WordPress to authenticate, authorize, create and update users against Active Directory


  • FIX: A Password-Change-Mail is send after every Login. (Issue #0088. Thanks to Benny Vizens and conkidd for the bug report.)


  • FIX: Not all options are stored in multisite environments. (Thanks to Mike Jones for the bug report.)
  • FIX: Styles and scripts not always loaded when needed. Now the ADI status is visible again.
  • FIX: Logo wasn't loaded.
  • UPD: Updated the logo and the ADI icon on the users page.

Sorry, 1.1.6 was a real bad release.


  • UPD: Multisite Support updated. Centralized settings for all blogs. (Issue #0070. Thanks to William Earnhardt for his work.)
  • FIX: Fixed a problem with empty usernames. (Thanks to Johnathon Williams for the bug report.)
  • FIX: Possible fix for an issue with password decryption. (Thanks to Jan Kutschke for the bug report.)
  • FIX: Can not set maximum number of login attempts in Brute Force Protection to 0. (Issue #0082. Thanks to Florian Rommel for the bug report.)


  • ADD: LDAP paging support for Bulk Import on PHP 5.4.0 so more than 1000 users per group can be imported. (Issue #0058. Thanks to billrod for the bug report.)
  • ADD: Added new attribute type "cn" for user meta. (Issue #0080. Feature Request by Réda Sehili.)
  • UPD: Language Norwegian (nb_NO) updated. (Many thanks to Audun Wangen.)
  • FIX: Replaced deprecated $wpdb->escape() by $wpdb->prepare(). (Documented in issue #0078. Thanks to marshalld for the bug report.)
  • FIX: User Meta not loaded if "Append account suffix to new created usernames." is checked. (Issue #0081. Thanks to Réda Sehili for the bug report and the solution.)
  • Fix: Added network_timeout setting to wpmu settings.
  • Fix: Bulk Import didn't work correctly if account suffix is appended to username. (Issue #0076. Thanks to Stephen Rice for the bug report.)
  • Change: Moved class BulkSyncBackADIntegrationPlugin() from syncback.php to BulkSyncBackADIntegrationPlugin.class.php (Recommendation by nic0tin. Issue #0075.)


  • ADD: Option to (re-)enable lost password recovery. (Feature Request by Jonathan Shapiro. Issue #0074.)
  • CHANGE: Only set role of user if the role already exists in WordPress. (Issue #0051)
  • CHANGE: Now using POST instead of GET in Test Tool, so user and password are not shown in server log files (Change Request by Aren Cambre. Issue #0054.)
  • CHANGE: The roles in Role Equivalent Groups are now always stored in lower case. (Issue #0055)
  • FIX: ADI produces warnings due to deprecated use of id instead of ID (Issue #0062. Thanks to Liam Gladdy for the bug report.)


  • CHANGE: WordPress versions lower 3.0 are not supported anymore.
  • ADD: Disable users by Bulk Import (or manually) who are not imported anymore or are disabled in Active Directory. (Issue #0045. Feature Request by Bas Ruijters.)
  • ADD: Option to show on user list if a user was authenticated (or imported) from Active Directory and the disabled state of user. (Related to issue #0045.)
  • ADD: Option to choose whether ADI should fallback to local (WordPress) password check if authentication against Active Directory fails. You should deactivate this for security reasons. (Issue #0050.)
  • ADD: Option to prevent users from changing their email. (Issue #0049. Feature Request by Bas Ruijters.)
  • FIX: Username is handled as case sensitive on Bulk Import but this is a wrong behavior. (Issue #0041)
  • FIX: Options page won't load on WP 3.3. (Issue #0048)


  • ADD: Allow logon of users with domains different from Account Suffix. (Issue #0043. Feature Request by Greg Fenton.)
  • ADD: Manually sync of locally modified attributes (for example after manipulating the database) back to Active Directory. (Issue #0046. Feature Request by Bas Ruijters.)
  • FIX: Option AD_Integration_version was not removed from options table on unintall. (Issue #0047)


  • FIX: Password with special characters not accepted for SyncBack if Global SyncBack User is not used. (Issue #0036)

1.1 (VARA Edition)

  • ADD: SyncBack feature to write Additional User Attributes back to Active Directory. (Issue #0015. Thanks to Bas Ruijters for the feature request and testing.)
  • ADD: Bulk Import feature to import and update users from Active Directory (for use in cron jobs). (Issue #0012. Thanks to Bas Ruijters for the feature request and testing.)
  • ADD: Support for multiple account suffixes so users like user1@emea.company.com, user2@africa.company.com and user3@company.com can log on. (Issue #0018. Feature Request by DonChino.)
  • ADD: Logging to file /adi.log if WordPress is in debug mode (WP_DEBUG is true). Don't forget to delete it in production environments.
  • ADD: Using LDAP_OPT_NETWORK_TIMEOUT (default 5 seconds) to fall back to local authorization when your Active Directory Server is unreachable (only PHP 5.3.0 and above). (Issue #0020.)
  • ADD: You can use "givenName SN" as display name now. (Issue #0029. Feature request by Aren Cambre.)
  • CHANGE: adLDAP 3.3.2 extended for SyncBack and Bulk Import features (see above).
  • CHANGE: Passwords are not logged anymore even if WP_DEBUG is true.
  • CHANGE: Active Directory authentication for admin user (ID 1) is not used anymore. Fall back to local authentication. (Issue #0024)
  • CHANGE: Removed the Bind User. It is not needed any more.
  • FIX: Including registration.php is deprecated/obsolete since WP 3.1. (Issue #0017)
  • FIX: Language files were not loaded. (Issue #0030)
  • FIX: "Email Address Conflict Handling" not secure by default. (Issue #0032. Thanks to Aren Cambre for the bug report.)

1.0.1 (unreleased version)

This version was not released.


  • ADD: New language Dutch (nl_NL) added. (Issue #0002. Thanks to Bas Ruijters.)
  • ADD: Store AD attribute in WordPress DB (table usermeta) and show them on users profile page without any additional plugin.
  • ADD: More debug information from Test Tool. You have to set WP_DEBUG to true in wp_config.php for extra debug information from the Test Tool.
  • ADD: Set users local WordPress password on first and/or on every successfull login. (Issue #0006. Thanks to Eduardo Ribeiro for the feature request.)
  • CHANGE: Now using an extended version of adLDAP 3.3.2 which should fix some authentication and authorization issues.
  • FIX: Authentication fails if user has special characters like an apostrophe (') in password. (Issue #0016. Thanks to Bas Ruijters for the bug report.)
  • FIX: Account suffix was accidently used for bind user. Fixed in adLDAP.php. (Issue #0009. Thanks to Tobias Bochmann for the bug report.)
  • FIX: Uninstall crashed. (Issue #0007. Thanks to z3c from hosthis.org for the bug report.)
  • FIX: Bug in adLDAP->recursive_groups() fixed.
  • FIX: The stylesheet was loaded by http not https even if you use https in admin mode. (Thanks to Curtiss Grymala for the bug report and fix.)
  • FIX: On activation add_option() was used with the deprecated parameter description. (Issue #0008.)
  • FIX: Fixed problem with wrong updated email addresses when option "Email Address Conflict Handling" was set to "create".
  • FIX: The way of saving settings is deprecated since WP 2.7. Now using register_settings() and settings_fields(). Moved code for options page to admin.php.

  • FIX: Automatic User Creation failed in WordPress 3.0 (Thanks to d4b for the bug report and testing.)
  • ADD: New option "Email Address Conflict Handling" (relates to the fix above).
  • FIX: Some minor fixes in adintegration.php und adLDAP.php.

  • FIX: Some fixes relating to WPMU contributed by Tim (mrsharumpe).
  • ADD: WordPress 3.0 compatibility, including Multisite

  • FIX: Problem with generating of email addresses fixed. (Thanks to Lisa Barker for the bug report.)
  • ADD: WordPress 3.0 Beta 1 compatibility.
  • FIX: Little typo fixed.
  • FIX: Fixed a bug in adLDAP.php so the primary user group will be determined correctly.(Thanks to Matt for the bug report.)

  • FIX: If the option "Enable local password changes" is unchecked, it was not possible to manually add users. (Thanks to kingkong954 for the bug report.)

  • ADD: Translation to Belorussian by FatCow.

  • FIX: Local passwords were always set to random ones, so it was impossible to logon with a password stored/changed in the local WordPress database after the activation of the plugin.(Thanks to Vincent Lubbers for the bug report.)

  • FIX: Test Tool did not work with passwords including special characters. (Thanks to Bruno Grossniklaus for the bug report.)

If you have installed, it is highly recommended to update.

  • FIX: SECURITY RELEVANT - Added security checks to the Test Tool in test.php.
  • NEW: German translation for the Test Tool.
  • CHANGE: Improved debug informations in the Test Tool.

  • NEW: testing und debugging tool
  • CHANGE: tabbed interface for options


  • NEW: Deactivate Plugin if LDAP support is not installed.
  • NEW: New Option "Allow users to change their local WordPress password."
  • NEW: Multiple authorization groups (as requested by Lori Dabbs).
  • FIX: Added missing CSS file (Thanks to ajay and BagNin for the bug report).
  • FIX: Users e-mail address was never updated (Thanks to Marc Cappelletti for the bug report).


It is highly recommended to update to this version, because of a security vulnerability.

  • FIX: SECURITY RELEVANT - TLS was not used if you have chosen this option. (Thanks to Jim Carrier for the bug report.)
  • NEW: First WordPress MU prototype. Read mu/readme_wpmu.txt for further informations.
  • FIX: Usernames will be converted to lower case, because usernames are case sensitive in WordPress but not in Active Directory. (Thanks to Robert Nelson for the bug report.)


  • FIX: With WP 2.8 login screen shows a login error even if there wasn't an attempt zu login and you can not login with local user, as admin.(Thanks to Alexander Liesch and shimh for the bug report.)


  • FIX: "Call to undefined function username_exists()..." fixed, which occurs under some circustances. (Thanks to Alexander Liesch for the bug report.)


  • FIX: XMLRPC now works with WP 2.8 and above. XMLRPC won't work with earlier versions. (Thanks to Alexander Liesch for the bug report.)


  • NEW: determine WP display name from AD attributes
  • NEW: added template for your own translation (ad-integration.pot)


  • NEW: drop table on deactivation
  • NEW: remove options on plugin uninstall
  • NEW: contextual help
  • colors of logo changed
  • code cleanup and beautification


  • NEW: email notification of user and/or admin when a user account is blocked
  • object-orientation redesign
  • code cleanup
  • some minor changes


  • first published version

Requires: 4.0 or higher
Compatible up to: 4.3.7
Last Updated: 4 months ago
Active Installs: 9,000+


4.2 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,3,3 100,1,1 100,1,1
67,3,2 100,1,1
0,1,0 50,2,1 100,2,2 100,4,4 100,1,1 100,1,1
75,4,3 100,1,1 100,1,1
100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2
100,5,5 100,3,3 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,3,3 100,1,1 100,1,1
33,3,1 100,1,1
71,7,5 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,6,6
100,1,1 100,2,2
100,2,2 100,1,1
100,1,1 100,1,1
100,1,1 33,3,1