PDA

Zobacz pełną wersję : logowanie i modyfikacja userów przez LDAP



Hencu
12-06-2009, 21:09
Witam,
Mam do zrobienia stronę na której autentykacja odbywa się tylko i wyłącznie przez LDAP. Samo logowanie dla istniejących użytkowników działa, ale nie wiem jak skonfigurować możliwość dodawania nowych i modyfikacji istniejących z poziomu Joomli.
Próbowałem zgodnie ze stroną (http://danieljamesscott.org/documentation/5-configuration-guides/10-joomla-kerberos-and-ldap-integration.html)ale niestety nie dało to efektów. Pojawiał się błąd: "LDAP Modify failed: Strong(er) authentication required"
Myślałem że to przez puste pole Connection Username i Password w Authentication - LDAP ale po wpisaniu roota dla LDAP również się nie udało, wyskakuje: "Failed to bind to LDAP Server: Invalid credentials"
Serwer pracuje na Debianie z OpenLDAP.
Może ktoś komu udało się skonfigurować podzieli się swoimi doświadczeniami.

BTW czy da się tak skonfigurować Authentication - LDAP aby była możliwe logowanie użytkowników z więcej niz 1 gałęzi LDAP?

Hencu
13-06-2009, 12:11
Udało mi się to zrobić, choć rozwiązanie jest mało eleganckie.
Otóż w Connection Username podawałem pełną ścieżkę do admina w LDAP - "cn= admin, dc= example,dc=com" . A wystarczyło tylko samo admin.
Następnie chciałem aby wszystko było trzymane ze schematem JoomlaUser, ale okazało się że pola wymagane przez ten objectClass byly puste i wyskakiwał błąd,
zatem w pliku plugins/users/ldap.php w case 'joomla' zmieniłem

$ldapuser['joomlagroup'] = $user['usertype'];
$ldapuser['joomlablockuser'] = $user['block'];na

if(empty($user['usertype'])){
$ldapuser['joomlagroup'] = 'Registered';
}
else{
$ldapuser['joomlagroup'] = $user['usertype'];
}
if( empty($user['block']) ){
$ldapuser['joomlablockuser'] = '0';
}
else{
$ldapuser['joomlablockuser'] = '1';
}
Może ktoś znalazł lepsze rozwiązanie, to proszę się podzielić