OT: Novell a overeni v (PHP)

Jirka Kosek jirka na kosek.cz
Pátek Srpen 24 15:38:17 CEST 2001


Tomas Stehlik wrote:

> chtel bych vedet co potrebuji k overeni na webovem serveru konkretniho
> uzivatele v prostredi Novell. V prostredi M$ je moznost pouzit IIS a to
> preda PHP promennou serveru o konkretnim uzivateli. Jde tohle mozne
> nejak udelat treba na linuxu s apachem? Novell taky prece musi nejak
> bonzovat uzivatele...

Nejjednodušší je asi na Novellu spustit LDAP modul a z PHP to ověřovat
přes LDAP. Už dva roky to takhle provozujeme na VŠE a až na občasné
problémy s některými verzemi LDAP modulu to pracuje bez problémů. 

Pokud pro autentifikaci používáte knihovnu PHPLIB, je to asi 6 řádek
kódu, které se připojí k LDAP serveru a pokusí se s daným heslem
přihlásit. Našel jsem to dokonce v archivu e-mailů:

----------

Do local.inc je potřeba přidat novou třídu pro autentifikaci

class ExampleLDAP_Auth extends Auth {
  var $classname      = "ExampleLDAP_Auth";

  var $lifetime       =  15;

  function auth_loginform() {
    global $sess;
    global $_PHPLIB;

    include($_PHPLIB["libdir"] . "loginform.ihtml");
  }
  
  function auth_validatelogin() {
    global $username, $password;

    if(isset($username)) {
      $this->auth["uname"]=$username;        ## This provides access for
"loginform.ihtml"
    }
    
        $uid = false;
        
    $ds = ldap_connect("localhost");       // připojení k localhost, kde
běží stunnel
    if (!$ds || $password=="") return false;
    if ($r=@ldap_bind($ds, "cn=$username,ou=oddeleni,o=firma",
$password)) {
                           // ^^^ řetězec budete muset upravit podle
struktury vaší NDS
        $uid = MD5(UniqID($username));
    }
    ldap_unbind($ds);
        
    return $uid;
  }
}

Nejnovější verze PHP 4.0.4 má podporu pro OpenSSL, snad jde rovnou
použít
ldap_connect("ldaps://server.nekde.cz") pro spojení přes SSL (nezkoušel
jsem).

Stunnel lze získat na adrese: www.stunnel.org

Pro potřeby přemostění LDAPS se startuje s následujícími parametry:

stunnel.exe -c -d 389 -r adresa.pocitace.s.ldaps.serverem:636



-----------------------------------------------------------------
  Jirka Kosek  	                     
  e-mail: jirka na kosek.cz
  http://www.kosek.cz


Další informace o konferenci Linux