LDAP
Z old-wiki.siliconhill.cz
(Rozdíly mezi verzemi)
(→Seznam služeb a jejich správců, které LDAP používají) |
|||
Řádka 4: | Řádka 4: | ||
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. | 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. | ||
− | |||
= Informace o serveru = | = Informace o serveru = | ||
Řádka 18: | Řádka 17: | ||
* Overenie cez userPassword, SSHA hash | * Overenie cez userPassword, SSHA hash | ||
* Vo výnimočných prípadoch možnosť NTLM overenia | * Vo výnimočných prípadoch možnosť NTLM overenia | ||
− | |||
== Autentizačné módy == | == Autentizačné módy == | ||
Řádka 98: | Řádka 96: | ||
} | } | ||
</pre> | </pre> | ||
− | |||
== Ruby - FastBind == | == Ruby - FastBind == |
Verze z 21. 10. 2012, 15:02
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
- Overenie cez userPassword, SSHA hash
- Vo výnimočných prípadoch možnosť NTLM overenia
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" }
Ruby - FastBind
require 'rubygems' require 'net/ldap' require 'io/console' puts "Username:" username = gets puts "Password:" password = STDIN.noecho(&:gets) ldap = Net::LDAP.new(:encryption => :simple_tls) ldap.host = "ldap.sh.cvut.cz" ldap.port = 636 ldap.base = "ou=People,dc=sh,dc=cvut,dc=cz" ldap.auth "uid=#{username.strip},"+ldap.base, password.strip if ldap.bind puts "authentication succeeded" p ldap.search( base: "ou=People,dc=sh,dc=cvut,dc=cz", filter: Net::LDAP::Filter.eq("uid", username.strip), attributes: %w[ givenName sn email SHservice ], return_result:true ).inspect else puts "authentication failed" end
Seznam služeb a jejich správců, které LDAP používají
- finance.sh Bronislav Robenek
- imap.sh Radim Roška
- zimbra.sh Radim Roška
- msdnaa.sh Michal Naiman
- git.sh Tomáš Srna
- news.sh Dominik Mališ
- shell.sh Václav Mach