1

использую, php5+mysql+ldap. Я настроил PHP и MySQL с MediaWiki. работает нормально. Но я хочу предоставить аутентификацию пользователей LDAP и обычные пользователи.

я был установлен модуль ldapauthentication со страницы медиа-вики ldapauthentication

В настоящее время ситуация в целом может создать учетную запись в моем MediaWiki, но где пользователи Ldap не могут создавать.

Здесь я предоставляю Localsettings.php.

      #########  edited by RAMKEE ################

   require_once( "$IP/extensions/Ldapauthentication/LdapAuthentication.php" );
     $wgAuth = new LdapAuthenticationPlugin();
   //require_once( "$IP/extensions/Ldapauthentication/LdapAutoAuthentication.php" );
    //AutoAuthSetup();
 # End of automatically generated settings.
 # Add more configuration options below.
  $wgLDAPDomainNames = array(
   'testADdomain',''
  );


  $wgLDAPServerNames = array(
  'testADdomain' => 'polyproxy.ramkee.local',''
  );


  $wgLDAPUseLocal = true;

  $wgLDAPEncryptionType = array(
  'testADdomain' => 'clear',''
  );


  $wgLDAPOptions = array(
  'testADdomain' => array( LDAP_OPT_DEREF, 1)
   );



  $wgLDAPPort = array(
  'testADdomain' => 389,''
  );



  $wgLDAPSearchStrings = array(
   'testADdomain' =>  'uid=USER-NAME,ou=people,dc=ramkee,dc=local'.''
  );

   $wgLDAPSearchAttributes = array(
   'testADdomain' => 'uid'
   );

   $wgLDAPBaseDNs = array(
  'testADdomain' => 'dc=LDAP,dc=ramkee,dc=local'
  );


   $wgLDAPGroupBaseDNs = array(
   'testADdomain' =>  'ou=group,dc=ramkee,dc=local'
  );


 $wgLDAPUserBaseDNs = array(
 'testADdomain' => 'ou=people,dc=ramkee,dc=local'
 );


  $wgLDAPWriterDN = array(
 'testADdomain' => 'ou=people,dc=ramkee,dc=local'
  );


 $wgLDAPWriterPassword = array(
 'testADdomain' => 'KnfMdMI0qiH9HZBQw7JkqLyEni/wp34x'
  );


 $wgLDAPWriteLocation = array(
  'testADdomain' => 'ou=people,dc=ramkee,dc=local'
   );



   $wgLDAPAddLDAPUsers = array(
   'testADdomain' => true
   );


  $wgLDAPUpdateLDAP = array(
  'testADdomain' => true
  );


 $wgLDAPRetrievePrefs = array(
 'testADdomain' => true
 );





$wgLDAPDisableAutoCreate = array(
'testADdomain' => false
);

$wgLDAPDebug = 10000;

$wgMinimalPasswordLength = 1;

$wgLDAPGroupUseFullDN = array( 'testADdomain' => false );

$wgLDAPLowerCaseUsername = array(
 'testADdomain' => true
);

 $wgLDAPGroupObjectclass = array(
 'testADdomain' => 'groupofuniquenames'
 );

$wgLDAPGroupUseRetrievedUsername = array( 'testADdomain' => false
);


$wgLDAPGroupNameAttribute = array(
'testADdomain' => 'cn'
);

$wgLDAPGroupsUseMemberOf = array(
'testADdomain' => false
);



$wgLDAPUseLDAPGroups = array(
 'testADdomain' => true
);


$wgLDAPGroupsPrevail = array(
'testADdomain' => true
);


    #wgLDAPRequiredGroups = array(
    # 'testADdomain' => array(
    #   'cn=admin,ou=groups,dc=ramkee,dc=local',
    #   'cn=chulbul,ou=people,dc=ramkee,dc=local'
    # )

    #;

всякий раз, когда я пытаюсь создать учетную запись для ldap, она показывает, что у вас нет прав на обновление базы данных (моя база данных - mysql), при создании учетной записи появляется следующая ошибка

и в то время как вход в систему как администратор это принимает (администратор не существует в LDAP)

Мой ldap также работает, порт 389 открыт, и ldapsearch -x также работает. Но я не ошибаюсь. один администратор может войти, обычные пользователи также не могут войти. борюсь за последние 3 дня. любой может мне помочь

1 ответ1

1

Я нашел себя там, где допустил ошибку, здесь я предоставляю свой localsettings.php. если кому-то это нужно, следуйте этому, у вас может получиться

после создания успешной медиа-страницы вы получите свежий localsettings.php. в этом просто добавьте следующие строки. тогда вы получите аутентификацию в вашей базе данных LDAP.

Те, кто есть в базе данных LDAP, которым не нужно создавать учетную запись в нашей медиа-вики, они могут напрямую войти без создания учетной записи вики.

ramkee.local ismy доменное имя. polyproxy.ramkee.local - это имя моего сервера LDAP

 require_once 'extensions/LdapAuthentication/LdapAuthentication.php';

 $wgAuth = new LdapAuthenticationPlugin();

 $wgLDAPDomainNames = array(
 'ramkee.local',
 );


 $wgLDAPServerNames = array(
'ramkee.local' => 'polyproxy.ramkee.local',
 );



 $wgLDAPEncryptionType = array(
 'ramkee.local' =>  'clear',
 );

 $wgAuthLDAPBindDN = array( 'ramkee.local' => 'cn=admin,dc=ramkee,dc=local');
 $wgAuthLDAPBindPassword = array( 'ramkee.local' => 'safesquid');

 $wgLDAPPort = array(
 'ramkee.local' => 389,
 );


 $wgLDAPSearchAttributes = array(
 'ramkee.local' => 'uid'
 );

 $wgLDAPBaseDNs = array(
 'ramkee.local' => 'dc=ramkee,dc=local',
 );

 $wgLDAPDebug = 3;

 $wgDebugLogGroups["ldap"] = "/tmp/wikildapdebug.log" ;

если вы получили какие-либо ошибки, пожалуйста, дайте мне знать. Спасибо!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .