I've setup a Kerberos/OpenLDAP SSO solution for my group. I'm trying to get mediawiki to authenticate against the kerberos server and use LDAP to get simple user information (like their name and maybe email address). My goal is to not allow new user accounts to be created or anonymous edits and views on the wiki. I have mod_auth_kerb setup and working correctly. I'm getting an error message from mediawiki that I can't figure out. Here is the message:
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'LdapAutoAuthentication::Authenticate' was given in /srv/web/mediawiki-1.13.3/includes/Hooks.php on line 117 Internal error
Detected bug in an extension! Hook LdapAutoAuthentication::Authenticate failed to return a value; should return true to continue hook processing or false to abort.
Backtrace:
#0 /srv/web/mediawiki-1.13.3/includes/User.php(748): wfRunHooks('UserLoadFromSes...', Array) #1 /srv/web/mediawiki-1.13.3/includes/User.php(221): User->loadFromSession() #2 /srv/web/mediawiki-1.13.3/includes/User.php(1732): User->load() #3 /srv/web/mediawiki-1.13.3/includes/User.php(1745): User->getGroups() #4 /srv/web/mediawiki-1.13.3/includes/User.php(1718): User->getEffectiveGroups() #5 /srv/web/mediawiki-1.13.3/includes/User.php(1864): User->getRights() #6 [internal function]: User->isAllowed('read') #7 /srv/web/mediawiki-1.13.3/includes/StubObject.php(58): call_user_func_array(Array, Array) #8 /srv/web/mediawiki-1.13.3/includes/StubObject.php(184): StubObject->_call('isAllowed', Array) #9 [internal function]: StubUser->__call('isAllowed', Array) #10 /srv/web/mediawiki-1.13.3/includes/Title.php(1450): StubUser->isAllowed('read') #11 /srv/web/mediawiki-1.13.3/includes/Wiki.php(149): Title->userCanRead() #12 /srv/web/mediawiki-1.13.3/includes/Wiki.php(54): MediaWiki->preliminaryChecks(Object(Title), Object(OutputPage), Object(WebRequest)) #13 /srv/web/mediawiki-1.13.3/index.php(93): MediaWiki->initialize(Object(Title), NULL, Object(OutputPage), Object(User), Object(WebRequest)) #14 {main}
Here are all of my additions (to the bottom) of my LocalSettings.php file:
# LDAP Authentication require_once('extensions/LdapAuthentication.php');
$wgLDAPDomainNames = array("testing"); $wgLDAPServerNames = array("testing"=>"ldaps.example.com");
$wgLDAPAutoAuthDomain = "testing";
$wgLDAPProxyAgent = array("testing"=>"cn=ldapbrowser,dc=example,dc=com"); $wgLDAPProxyAgentPassword = array("testing"=>"password"); $wgLDAPBaseDNs = array("testing" => "dc=example,dc=com");
$wgLDAPSearchAttributes = array("testing" => "uid");
$wgLDAPAutoAuthUsername = preg_replace( '/@.*/', '', $_SERVER["REMOTE_USER"] );
AutoAuthSetup();
# Prevent new user registrations $wgGroupPermissions['*']['createaccount'] = false; # Restrict anonymous editing $wgGroupPermissions['*']['edit'] = false; # Restrict anonymous reads $wgGroupPermissions['*']['read'] = false;
$wgShowExceptionDetails = true;
$wgLDAPDebug = 3;
I'm running the latest packaged Apache2 and PHP on a Ubuntu 8.04 server. I'm using the latest mediawiki (1.13.3) and Ldap_Authentication extension 1.2a.
Let me know if I can provide any other info to help diagnose this error. I really appreciate the work you've done on the extension and the support!
Thanks, Ken