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
--
Forti et Fideli nihil difficile – Nothing is difficult to the brave and
faithful.