Topic on Extension talk:LDAPAuthentication2

LDAP LDAPAuthentication2 for mediawiki 1.39.3

2
Adugna.assefa (talkcontribs)

The LocalSettings.php is configured like below

$wgGroupPermissions['engineering'] = $wgGroupPermissions['user'];

// Private Wiki. External LDAP login. Default NS requires login.

$wgEmailConfirmToEdit = false;

$wgGroupPermissions['*']['edit'] = false;

$wgGroupPermissions['*']['read'] = false;

$wgGroupPermissions['*']['createaccount'] = true;

$wgGroupPermissions['sysop']['createaccount'] = true;

$wgGroupPermissions['*']['autocreateaccount'] = true;

$wgBlockDisablesLogin = true;

// Load LDAP Config from JSON

$ldapJsonFile = "ldap.json";

$ldapConfig = false;

if (is_file($ldapJsonFile) && is_dir("extensions/LDAPProvider") ) {

  $testJson = @json_decode(file_get_contents($ldapJsonFile),true);

  if (is_array($testJson)) {

    $ldapConfig = true;

  } else {

    error_log("Found invalid JSON in file: ldap.json");

$ldapConfig = true;

  }

}

$wgShowExceptionDetails = true;

//$wgShowSQLErrors = true;

//$wgShowDBErrorBacktrace = true;

// $wgPluggableAuth_EnableAutoLogin = false;

// $wgPluggableAuth_EnableLocalLogin = true;

$wgPluggableAuth_EnableLocalProperties = false;

$wgPluggableAuth_ExtraLoginFields=[];

$wgPluggableAuth_Class = "MediaWiki\\Extension\\LDAPAuthentication2\\PluggableAuth";

//$wgPluggableAuth_Class="MediaWiki\Extension\PluggableAuth\PluggableAuth";

// $wgPluggableAuth_ButtonLabel = "Log In";

$wgPluggableAuth_Config['Log In (xxx.local)'] = [

    'plugin' => 'LDAPAuthentication2',

    'data' => [

        'domain' => 'xxx.local'

    ]

];

$LDAPAuthentication2AllowLocalLogin=true;

$LDAPAuthentication2UsernameNormalizer= "";

// Activate Extension

if($ldapConfig) {

  wfLoadExtension( 'PluggableAuth' );

  wfLoadExtension( 'LDAPProvider' );

  wfLoadExtension( 'LDAPAuthentication2' );

  wfLoadExtension( 'LDAPAuthorization' );

  wfLoadExtension( 'LDAPUserInfo' );

  wfLoadExtension( 'LDAPGroups' );

  $LDAPProviderDomainConfigs = $ldapJsonFile;

  // Force LDAPGroups to sync by choosing a domain (e.g. first JSON object in ldap.json)

  $LDAPProviderDefaultDomain = "xxx.local";

  //if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }

}

and the ldap.json file configuration is

{

    "xxx.local":{

        "connection": {

            "server": "dc,xxx.local",

            "port": "389",

            "user": "CN=dcadmin,OU=Users,DC=xxx,DC=local",

            "pass": "dc@#xyz",

            "options": {

                "LDAP_OPT_REFERRALS": 1

                },

               "basedn": "dc=xxx,dc=local",

                "groupbasedn": "cn=zzz xxx family,ou=Distribution Group,dc=xxx,dc=local",

               

                "userbasedn": "cn=zzz xxx family,ou=Distribution Group,dc=ethio,dc=local",

               

                "searchattribute": "sAMAccountName",

               

                "searchstring": "samaccountname",

               

                "usernameattribute": "samaccountname",

               

                "realnameattribute": "cn",

               

                "emailattribute": "mail"

               

            },

            "userinfo": [],

   

            "authorization": [],

           

            "groupsync": {

           

            "mapping": {

           

            "bureaucrat": "CN=zzz xxx family,OU=Distribution Group,DC=XXX,DC=local",

           

            "engineering": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=locall",

           

            "interface-admin": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=local",

           

            "sysop": "CN=ZZZ Software Development Section,OU=Distribution Group,DC=XXX,DC=local"

           

            }

         }

    }

}

  The error output is

Deprecated: Use of PersonalUrls hook (used in PluggableAuthHooks::modifyLoginURLs) was deprecated in MediaWiki 1.39. [Called from MediaWiki\HookContainer\HookContainer::run in C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php at line 137] in C:\xampp\htdocs\ethiowiki\includes\debug\MWDebug.php on line 381

MediaWiki internal error.

Original exception: [5e0d07f782094fdb33f0a479] /ethiowiki/index.php Error: Call to undefined method PluggableAuthHooks::modifyLoginURLs()

Backtrace:

from C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(338)

#0 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)

#1 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookRunner.php(3045): MediaWiki\HookContainer\HookContainer->run(string, array, array)

#2 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(582): MediaWiki\HookContainer\HookRunner->onPersonalUrls(array, Title, MediaWiki\Skins\Vector\SkinVectorLegacy)

#3 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(1262): SkinTemplate->buildPersonalUrls(boolean)

#4 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(790): SkinTemplate->buildContentNavigationUrlsInternal()

#5 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(229): SkinTemplate->getPortletsTemplateData()

#6 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(88): SkinTemplate->getTemplateData()

#7 C:\xampp\htdocs\ethiowiki\skins\Vector\includes\SkinVector.php(450): SkinMustache->getTemplateData()

#8 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(58): MediaWiki\Skins\Vector\SkinVector->getTemplateData()

#9 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(177): SkinMustache->generateHTML()

#10 C:\xampp\htdocs\ethiowiki\includes\OutputPage.php(2874): SkinTemplate->outputPage()

#11 C:\xampp\htdocs\ethiowiki\includes\MediaWiki.php(922): OutputPage->output(boolean)

#12 C:\xampp\htdocs\ethiowiki\includes\MediaWiki.php(562): MediaWiki->main()

#13 C:\xampp\htdocs\ethiowiki\index.php(50): MediaWiki->run()

#14 C:\xampp\htdocs\ethiowiki\index.php(46): wfIndexMain()

#15 {main}

Exception caught inside exception handler: [5e0d07f782094fdb33f0a479] /ethiowiki/index.php Error: Call to undefined method PluggableAuthHooks::modifyLoginURLs()

Backtrace:

from C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(338)

#0 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)

#1 C:\xampp\htdocs\ethiowiki\includes\HookContainer\HookRunner.php(3045): MediaWiki\HookContainer\HookContainer->run(string, array, array)

#2 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(582): MediaWiki\HookContainer\HookRunner->onPersonalUrls(array, Title, MediaWiki\Skins\Vector\SkinVectorLegacy)

#3 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(1262): SkinTemplate->buildPersonalUrls(boolean)

#4 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(790): SkinTemplate->buildContentNavigationUrlsInternal()

#5 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(229): SkinTemplate->getPortletsTemplateData()

#6 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(88): SkinTemplate->getTemplateData()

#7 C:\xampp\htdocs\ethiowiki\skins\Vector\includes\SkinVector.php(450): SkinMustache->getTemplateData()

#8 C:\xampp\htdocs\ethiowiki\includes\skins\SkinMustache.php(58): MediaWiki\Skins\Vector\SkinVector->getTemplateData()

#9 C:\xampp\htdocs\ethiowiki\includes\skins\SkinTemplate.php(177): SkinMustache->generateHTML()

#10 C:\xampp\htdocs\ethiowiki\includes\OutputPage.php(2874): SkinTemplate->outputPage()

#11 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionRenderer.php(183): OutputPage->output()

#12 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionRenderer.php(102): MWExceptionRenderer::reportHTML(Error)

#13 C:\xampp\htdocs\ethiowiki\includes\exception\MWExceptionHandler.php(131): MWExceptionRenderer::output(Error, integer)

#14 C:\xampp\htdocs\ethiowiki

   

all the ldap extensions is mediawiki 1.39, for your support please

AKulbii (talkcontribs)

Hi

It seems you are using PluggableAuth version 5.7 or below, which does not support MediaWiki 1.39. Please update PluggableAuth to version 7.0.0.

Reply to "LDAP LDAPAuthentication2 for mediawiki 1.39.3"