Input your search keywords and press Enter.

LDAP i IP.Board 3.3.1

W ostatnich dniach zgłosił się do mnie klient, który poprosił o instalację forum oraz skonfigurowanie po LDAP bazy użytkowników. Przyznałem, że nigdy nie konfigurowałem LDAP, ale postanowiłem spróbować, w końcu zawsze można się czegoś nowego nauczyć.

Nie było się zbytnio nad czym zastanawiać więc od razu przeszedłem do działania. Instalacja forum – żaden problem. Poustawianie wszystko i lecimy dalej… Schody zaczęły się przy konfiguracji LDAP. Dane wpisałem wydaje się prawidłowo, ale przy próbie logowania mam cały czas błąd, nieprawidłowa nazwa użytkownika lub hasło… Zacząłem więc sprawdzać inne możliwości ustawienia połączenia. Po przetestowaniu wszystkiego błąd nadal był widoczny…

Skoro wszystkie metody zawiodły, trzeba zacząć debugować… I tak okazało się, że połączenie jest nawiązywane z serwerem więc połowa sukcesu już jest, ale…

Wtyczka do logowania korzysta z metody:

authenticate( $username, $email_address, $password)

i co się okazuje, ponieważ logowanie odbywa się poprzez podanie emaila, zmienna $username przyjmuje wartość pustą, a co za tym idzie próbujemy się logować na użytkownika, bez loginu tylko z jakimś hasłem… Posprawdzałem i okazuje się, że w wersji 3.3.1 należy ręcznie poprawić ten błąd. W pliku /admin/sources/loginauth/ldap/auth.php w linii 151 należy wstawić taki oto kod:

if( $real_username == '' )
{
    $real_username = $email_address;
}

no cóż producent nie przewidział widocznie takiej możliwości, albo sypnęło się gdzieś wyżej, ale że nie chciało mi się dochodzić i przeprowadzać śledztwa, gdzie można to poprawić nałożyłem mały patch i wszystko działa ładnie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Przeczytaj poprzedni wpis:
IPSBeyond.pl
Spolszczenie IP.Board 3.3.1 oraz IP.Content 2.3.1 – Wydane

W dniu wczorajszym zakończyłem tłumaczenie nowej wersji IP.Board oraz dodatków. Jak zawsze najwięcej czasu zajmuje tłumaczenie IP.Content, ale nie ma...

Zamknij