mediawiki: ошибка аутентификации LDAP

1394
Ramkee

использую, 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), при создании учетной записи появляется следующая ошибка

enter image description here

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

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

1

1 ответ на вопрос

1
Ramkee

Я нашел себя там, где допустил ошибку, здесь я предоставляю свой 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" ; 

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

Похожие вопросы