Ako na overenie užívateľa voči AD vo FusionPBX

Pri implementácii VOIP  firemnej pobočkovej ústredne (Freeswitch 1.4 + FusionPBX 4.0) som narazil na problém ako overiť heslo užívateľa voči Active Directory serveru  (Samba 4). Na internete som veľa informácii nenašiel, vývojári FusionPBX v diskusiách sa zmieňujú iba o tom že FusionPBX je na to pripravené a odkazujú na platenú podporu, takže som sa vrhol na zdrojový kód. Implementácia overenia hesla je celkom jednoduchá a snáď nasledujúce riadky niekomu ušetria čas pri riešení podobného problému.

Overenie zadaného hesla je implementované v súbore /resources/check_auth.php. LDAP overovanie použiteľné pri mojom probléme je implementované od riadku 104. V kóde sú použité nasledujúce premenné:

$_SESSION[„ldap“][„enabled“][„boolean“]
$_SESSION[„ldap“][„server_host“][„text“]
$_SESSION[„ldap“][„server_port“][„numeric“]
$_SESSION[„ldap“][„user_attribute“][„text“]
$_SESSION[„ldap“][„user_dn“][„text“]

Tieto však nie sú nikde zadefinované a teda sú prázdne. Možnosti ako ich zadefinovať je viacero. Elegantným riešením je tieto premené zadefinovať priamo v administračnom rozhraní FusionPBX -> Advanced -> Default Settings.

FusionPBX-LDAP

Toto je celý postup za ktorý žiadali finančnú podporu 🙂

Ešte dva tipy:

Riadok 114

$bind_dn = $_SESSION[„ldap“][„user_attribute“][„text“].„=“.$username.„,“.$_SESSION[„ldap“][„user_dn“][„text“];

som nahradil riadkom

$bind_dn =$username.„@“.$_SESSION[„ldap“][„user_dn“][„text“];

a do premennej user_dn som uložil názov Samba domény domain.local.

Druhý tip spočíva v zakomentovaní riadkov 215-278. Tu sa nachádza overenie užívateľa v databáze, a táto funkcionalita je v mojom prípade nežiadúca.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *