Laravel Adldap auth CN helyett samaccountname.
2019-10-04T16:08:48+02:00
2019-10-22T15:29:00+02:00
2022-08-19T00:37:49+02:00
P-mac
Sziasztok!

A problémám a következő:

Laravelben a bejelentkezés 2 féle képpen működik jelenleg, AD autentikációval, és local userekkel (DB).
Aki AD-ból bejelentkezik, bekerül az adatbázisba, és miden egyes bejelentkezésekor frissülnek az adatai az adatbázisban.

A problémám az, hogy a következő modult használom az AD-ra:
Adldap2/Adldap2-Laravel

A bejelentkezéshez szükséges művelet a következő:

Adldap::auth()->attempt($username, $pass)

Ez true/false értékkel tér vissza.

Az egyetlen problémám az, hogy ezzel a bejelentkezéssel nem egy unique értéket figyel alapból, ami a samaccountname, username-nek, hanem egy másik mezőt (cn), és akárhogy állítgatom a config fájlt, semmiképp nem tudom megoldani, hogy az samaccountname alapján léptessen be.

Ebben kérném a segítségetek, a dokumentációt már szét böngésztem, de nem lett megoldás.

Köszönöm, Peti
Mutasd a teljes hozzászólást!
Sziasztok!

Sikerült végül megoldani a problémát.

Frissítettem végül a Laravelt a legfrissebbre, de szerintem erre nem volt feltétlenül szükség.

A beállítások rendben voltak, érdekes mód úgy működik az adldap2, hogy ha beállítom a suffix értéket (LDAP_ACCOUNT_SUFFIX), akkor már automatikusan CN-ről samaccountname -re ellenőrzi a bejelentkezést.

Az érték beállítása után működött az auth ellenőrzés.

Köszönöm a hozzászólásokat.

Üdv.
Mutasd a teljes hozzászólást!

  • Nem írtad melyik verziójú Laravel. Laravel 5.5-re szerintem itt találsz megoldást, 5.7-re itt. (Google barátunknál így érdeklődhetsz: "laravel adldap samaccountname")
    Mutasd a teljes hozzászólást!
  • 5.5 -ös verziójú laravelt használok, sajnos a leírtnál nodatabase módszerrel tesztel, és a config beállításai mind ua. mint nekem.

    Elég sokat Google -ztem, de nem találtam rá a megoldásra, a prog.hu már a sokadik segítség, amihez most fordulok :)

    Lehet legrosszabb esetben frissítem a laravelt, és akkor már az Ldap-al probálom megoldani a bejelentkeztetést.
    Mutasd a teljes hozzászólást!
  • Egyrészt kérdéses, hogy ez szükséges-e (értem ezalatt hogy komoly biztonsági kockázat, ha csupán kényelmi szempontból csinálod és nincs szükség a helyi hálózat erőforrásaira user alapú azonosítással)

    Másrészt elképzelhető hogy mindent jól csinálsz programozási szinten, csupán a hálózati probléma (lehet hogy köztes hálózatban vagy internetről (ahonnan nincs beállítva az ldap) és/vagy a domain névtér nem oldható fel/nem érhető el a webszerverről))

    Harmadrészt: http://bencornwell.com/ldap-auth-laravel/
    Mutasd a teljes hozzászólást!
  • Az AD bejelentkezés úgy néz ki, egy másik cég AD usereivel lehet hozzám belépni ugyanazon a login felületen, ahol a local userek is be tudnak lépni, erre azért van szükség, mert más jogosultságok vannak megadva a felhasználói köröknek.

    Probléma nincs az azonosítással, mivel az Adldap2 visszaad minden információt a userről, amikor a fent leírt módszerrel beléptetem, az egyetlen problémám azzal van, hogy ott a username paraméternék cn felhasználót vár, és ha az samaccountname userrel próbálnám, false válasz tér vissza. Csak akkor true, ha a cn -namet adom meg értéknek. Csak ez azért probléma mert a CN érték nem unique, és náluk több ugyanolyan nevű ember is dolgozik, és hiába kérem be az inputba az samaccountname-t és kérdezem le hozzá a cn-t és próbálom bejelentkeztetni, mivel a megadott password valószínűleg egy másik ugyanolyan cn-el rendelkező userhez passzol. Így false fálaszt kapok. Valószínűleg, ha egyszer lenne benne a felhasználó az ad-ban, akkor minden működne, de a legjobb megoldás az lenne, ha közvetlen az samaccountname-el működne a dolog.

    Köszönöm a linket, átnézem.

    Üdv: Peti
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Sikerült végül megoldani a problémát.

    Frissítettem végül a Laravelt a legfrissebbre, de szerintem erre nem volt feltétlenül szükség.

    A beállítások rendben voltak, érdekes mód úgy működik az adldap2, hogy ha beállítom a suffix értéket (LDAP_ACCOUNT_SUFFIX), akkor már automatikusan CN-ről samaccountname -re ellenőrzi a bejelentkezést.

    Az érték beállítása után működött az auth ellenőrzés.

    Köszönöm a hozzászólásokat.

    Üdv.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd