The change is 2.2.2 only. With 2.2.1 and before it shouldn't be changed. I got the error message you described after upgrading to 2.2.2.
Sorry, I'm now downloading 2.2.2 :)
After following http://doc.silverstripe.com/doku.php?id=installation-on-windows
and then selecting php_ldap from PHP->PHP Extensions, I installed a clean copy of the auth_external module, setup _config.php, removed "array" from the "authenticate" function in ExternalAuthenticator.php and set the "ID to be used with this source" for the Member.
Now it works! Thanks lancer for all your help and thanks other people who chipped in too :D
I can now happily authenticate against my Active Directory using the External Authenticator module but it still requires manually setting up all my 50 members in the Security tab of Silverstripe... For example, it would be really good to be able to import the required details from my Active Directory directly, or at least via a text file.
Would it be possible to have a "Import Members" button next to the "Add Member" button?
You hint in one of the docs that it would be possible to remove the original simple machines auth tab - how can I do that?