Portál AbcLinuxu, 14. července 2025 02:05


Dotaz: PHP autentikace pres LDAP

6.6.2011 13:41 rojko20
PHP autentikace pres LDAP
Přečteno: 1076×
Odpovědět | Admin
Dobry den,

mate najeky tip (cas kodu) jak zajistit v php autentikaci pres LDAP

Dekuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2011 13:42 rojko20
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
omlouvam se, ze neumim psat ...
6.6.2011 16:58 XY
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://lmgtfy.com/?q=php+ldap+authentication ;-)
21.6.2011 14:42 Jarda
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
ahoj, ja nasel tenhle kod na netu a upravil si ho pro sebe a funguje uplne OK :-) snad ti k necemu bude :-)

$username = "test"; $password = "1234";

function authAD($username, $password, $Domain="domain.local", $ldap_server="ldap://192.168.x.x") { if ($password == ""){ // POZOR: pouziti prazdneho hesla by proslo return(false); } if (function_exists('ldap_connect')) { $auth_user = $username."@".$Domain; if($connect = ldap_connect($ldap_server)){ ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); //ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); // pise do error logu apache prubeh if(@ldap_bind($connect, $auth_user, $password)) { ldap_close($connect); return(true); } } ldap_close($connect); return(false); } else { Die ("extension php_ldap neni dostupne"); } }

if(authAD($username,$password)) { echo "login OK."; // .... Vas kod } else { echo "login ERROR"; // .... Vas kod }
23.6.2011 10:54 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
A jéje. Nechtělo se mi ten kód číst a teď se dívám, že o komentář níže machruju se stejným řešením. Tak nic no. :-)
Řešení 1× (julus)
23.6.2011 10:50 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
"Autentifikace" neexistuje! Existuje pouze autentizace a následná (někdy se píše o principu AAA, pak je to navíc i accounting).

V jednom starém projektu jsem použil toto:
  $ldap = ldap_connect("ldap.example.com");
  if($ldap) {
    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
    $bindstatus = ldap_bind($ldap, "uid=".$username.", ou=Users, dc=example, dc=com", $password);

    if($bindstatus) {
      // přihlaš
    } else {
      // ošetři chybu
    }
  } else {
    // ošetři
  }
Trochu jsem to zjednodušil, takže předpokládám ošetřené vstupy. Jinde jsem použil jiný přístup, ale ten kód teď nemám dostupný. :-)
23.6.2011 10:52 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Kruci, před závorkou mi vypadlo slovo a já si toho nevšiml, takže: Existuje pouze autentizace a následná autorizace (někdy se píše o principu AAA, pak je to navíc i accounting).
23.6.2011 18:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Mimo téma:
Autentifikace podle všeho existuje:
http://www.slovnik-cizich-slov.net/autentifikace/
http://slovnik-cizich-slov.abz.cz/web.php/slovo/autentifikace
a mnou nenáviděný a pro roj lidí závazný(nevím proč :-() http://prirucka.ujc.cas.cz/?slovo=autentifikace
a ten uvádí autentizace == autentifikace
autentifikace je asi z francouštiny a autentizace asi z němčiny… :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.6.2011 19:35 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Dělá se mi špatně. :-)
23.6.2011 20:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP autentikace pres LDAP
Mně z ujč často, ale toto mi zrovna nevadí :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.