240px-Diamond warning sign (Vienna Convention style).svg.png Content of this wiki is DEPRECATED 240px-Diamond warning sign (Vienna Convention style).svg.png

LDAP

Z old-wiki.siliconhill.cz
Přejít na: navigace, hledání

LDAP je protokol pro získávání/zapisování informací v stromové struktuře. Dnes se používá zejména pro jednotné přihlašování uživatelů do více aplikací. LDAP na wikipedii

Klub Silicon Hill v rámci Informačního systému provozuje LDAP server, vůči kterým se můžou další aplikace ověřovat pomocí uživatelova hesla. Umožňujeme jak bind tak fastbind. Stávající implementace je pro všechny uživatele Read-only, veškeré změny uživatelských účtů je třeba dělat přes rozhraní informačního systému.


Obsah

Informace o serveru

  • Adresa: ldap.sh.cvut.cz
  • Port: 636
  • Používá SSL (ldaps://)
  • Správce: Tomáš Srna
  • Uživatelé v ou=People,dc=sh,dc=cvut,dc=cz
  • Atribút uživateľského mena: uid
  • Uživatel pro servery: cn=auth-user,ou=System,dc=sh,dc=cvut,dc=cz
  • Heslo na vyžádání u správce


Autentizačné módy

  • FastBind - Bind priamo užívateľom, pod ktorým sa hlási náš klient
 * uid={username},ou=People,dc=sh,dc=cvut,dc=cz
 * {password}
  • Bind cez auth-user
 * Horeuvedené údaje
 * Vhodné pre mnohonásobné overovanie užívateľov s použitím jediného spojenia.

Příklady použití / nastavení

LDAP Kontakty v Telefonu

iPhone Nastavení -> Pošta, Kontakty, Kalendáře -> Přidat účet -> Jiný -> "Přidat účet LDAP"

  • Server: ldap.sh.cvut.cz
  • Uživatel: uid=**tvůj username**,ou=People,dc=sh,dc=cvut,dc=cz
  • Heslo: Tvé heslo do ISu
  • Popis: ldap.sh.cvut.cz
  • Použít SSL: Ano
  • Kritéria hledání: dc=sh,dc=cvut,dc=cz

LDAP z příkazové řádky - ldapsearch

# Balíček
aptitude install ldap-utils

# ~ Fastbind (zepta se na heslo pro username)
ldapsearch -h ldap.sh.cvut.cz -b "dc=sh,dc=cvut,dc=cz" -D "uid=username,ou=People,dc=sh,dc=cvut,dc=cz" -W uid=username

# ~ Bind (se systémovým účtem)
ldapsearch -h ldap.sh.cvut.cz -b "dc=sh,dc=cvut,dc=cz" -D "cn=auth-user,ou=System,dc=sh,dc=cvut,dc=cz" -w *heslo_auth_usera* uid=username

Zend_Auth_Adapter_Ldap

application.ini

ldap.is.host = ldap.sh.cvut.cz
ldap.is.port = 636
ldap.is.useSsl = true
ldap.is.useStartTls = true

ldap.is.bindRequiresDn = true
ldap.is.baseDn = "ou=People,dc=sh,dc=cvut,dc=cz"
ldap.is.accountCanonicalForm = 2

ldap.is.username = "cn=auth-user,ou=System,dc=sh,dc=cvut,dc=cz"
ldap.is.password = "********"


Přiklad přihlášení v kontextu Zend_Controller_Action, Více v dokumentaci

$auth=new Zend_Auth();

$username=$this->_getParam("username");
$password=$this->_getParam("password");

$bootstrap = $this->getInvokeArg('bootstrap');
$config=$bootstrap->getOptions();
$options = $config["ldap"];

$authAdapter=new Zend_Auth_Adapter_Ldap($options,$username,$password);

$result=$auth->authenticate($authAdapter);

if($result->isValid()) {
  $ldap=$authAdapter->getLdap();
  $user = $ldap->getEntry("uid=".$username.",".$options["is"]["baseDn"]);
  echo "Uzivatel prihlasen";
  print_r($user);
}
else {
  echo "Spatne jmeno nebo heslo"
}


Seznam služeb a jejich správců, které LDAP používají

Jmenné prostory

Varianty
Akce