I've got some success, I am able to login to Silverstripe using my ActiveDirectory credentials.
This has only been tested by me.
I've submitted a pull request for the code changes: https://github.com/hamishcampbell/silverstripe-auth-external/pull/9
I'm using the following _config.php, this automatically creates user accounts and keeps them synced, make sure that any content authors are added to the SilverstripeContentAuthors Active Directory group in this case:
<?php
Authenticator::register_authenticator('ExternalAuthenticator');
ExternalAuthenticator::setUseAnchor(true);
ExternalAuthenticator::setAnchorDesc('Username');
ExternalAuthenticator::createSource('activedirectory','LDAP','Active Directory');
ExternalAuthenticator::setAuthSSLock('activedirectory',false);
ExternalAuthenticator::setAuthServer('activedirectory','<domaincontroller>');
ExternalAuthenticator::setOption('activedirectory', 'basedn', '<domaincontroller object name>');
ExternalAuthenticator::setOption('activedirectory', 'attribute', 'sAMAccountName');
ExternalAuthenticator::setOption('activedirectory', 'extra_attributes', array(
'objectclass' => 'user',
));
ExternalAuthenticator::setOption('activedirectory', 'passwd_expiration', true);
ExternalAuthenticator::setAutoAdd('activedirectory', true);
ExternalAuthenticator::setDefaultDomain('activedirectory', '<domain>');
ExternalAuthenticator::setOption('activedirectory', 'firstname_attr', 'givenName');
ExternalAuthenticator::setOption('activedirectory', 'surname_attr', 'sn');
ExternalAuthenticator::setOption('activedirectory', 'email_attr', 'mail');
ExternalAuthenticator::setOption('activedirectory', 'group_attr', 'memberOf');
ExternalAuthenticator::setAutoAdd('activedirectory', array(
'SilverstripeContentAuthors' => 'content-authors',
)
);
ExternalAuthenticator::setOption('activedirectory', 'bind_as','<cn for account>');
ExternalAuthenticator::setOption('activedirectory', 'bind_pw','<password>');
For information on the options see the _config.php that comes with the module.