Portál AbcLinuxu, 10. května 2025 04:23

Dotaz: Rizeni pristupu pres LDAP

31.1.2009 06:58 Leoš Literák | skóre: 74 | blog: LL | Praha
Rizeni pristupu pres LDAP
Přečteno: 543×
Odpovědět | Admin

Ahoj,

chci se zeptat, zda jde pouzit LDAP pro rizeni pristupu k ruznym aplikacim. Chapu variantu, ze nakonfiguruju treba wiki vuci LDAPu a pak mam stejne prihlasovaci udaje jako v LDAPu, to je snadne. Ale co kdyz chci, aby jen vybrani uzivatele z LDAPu smeli chodit do wiki, treba jen z urcite LDAP skupiny? A do mantisu zase jina skupina uzivatelu. Jde pouzit LDAP timto zpusobem, aniz by musela byt aplikace nejak specialne naimplementovana?

Diky

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.1.2009 11:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle je to tak, že aplikace, které se umí autentizovat proti LDAPu, mají konfigurační volby, kde zadáte nějaký LDAP filtr, jak se mají hledat uživatelé (nebo validní uživatelé). Pomocí toho filtru pak lze zredukovat množinu uživatelů, kterou aplikace "vidí".

Pokud tuhle možnost nemáte, budete mít možnost alespoň nastavit base dn, kamž můžete nacpat příslušné uživatele (nejlépe nějakou replikací, aby se to snadno udržovalo). A nebo hrábnout do kódu a ty dva řádky tam přidat.
In Ada the typical infinite loop would normally be terminated by detonation.
31.1.2009 23:00 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

Treba u dekiwiki jsem takove nejake volby objevil, i kdyz jim zatim moc nerozumim. Pokud jde o DN, mas na mysli, ze standardne by byly stromy treba employees, customers, partners a nejakym figlem by se zmergovaly do sjednoceneho stromu treba wikiusers? Mohli byste mi doporucit nejaky dokument o ldapu, ale spise intro nez bezne manualy, jak co nakonfigurovat. Neco jako concept guide.

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
1.2.2009 17:17 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Jestli chcete něco hodně jednoduchého a "od píky", tak si můžete zkusit pročíst můj LDAP tutorial.
In Ada the typical infinite loop would normally be terminated by detonation.
1.2.2009 17:18 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
PS. spíš jsem myslel strom wikiusers který bych si vytvořil tak, že do něj selektivně nacpu nějaké uživatele.
In Ada the typical infinite loop would normally be terminated by detonation.
2.2.2009 07:52 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

A kdyz budu mit strom mantisusers, pak to bude znamenat, ze dva stejni uzivatele budou mit dva samostatne LDAP zaznamy, ktere nejsou synchronizovany? To dost komplikuje udrzbu, napriklad odejde zamestnanec, musim hledat, kde vsude jej mam smazat. Tim se ztraci vyhoda ldapu. Nebo jsem to blbe pochopil? Clanek prectu pozdeji, diky.

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
2.2.2009 10:58 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

V celém ldap stromu by měl být jeden člověk pouze jednou, pokud má mít víc rolí v systému, tak se mu prostě přidělé v adresářovém serveru víc rolí. V aplikaci si potom podle těch rolí budeš jednotlivé uživatele vyhledávat...

Ukázka jak může vypadat takové vyhledávání - hledám aktivního uživatele, který má mailový účet a je aktivní: (&(objectClass=qmailUser)(employeeType=mail)(mail=%s)(description=active)) jednoduché, rychlé a funkční. Typů účtů mám víc, třeba pro ftp, web, administraci a podobně, uživatel existuje pouze jednou.

-- Nezdar není hanbou, hanbou je strach z pokusu.
2.2.2009 12:15 Ivan
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

V LDAP stromu by mel byt clovek jen jednou, ale muze se vyskytovat na vice mistech(kontextech), V LDAPu jdou delat symlinky(aliasy).

 

2.2.2009 12:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
A umí to konkrétně OpenLDAP?
2.2.2009 13:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Ano. Nevím od jaké verze, ale není to nějaká velká novinka.
In Ada the typical infinite loop would normally be terminated by detonation.
2.2.2009 16:02 Ivan
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

OpenLDAP to umi - je to soucasti standartu. OpenLDAP se sepcializuje prave na implementaci ruznych proposed draftu okolo LDAP protokolu. Dulezity je aby to umel klient. Resolvovani aliasu provadi klientska knihovna a resolvovani probiha na strane klienta. OpenLDAP klient to umi, ale podle standartu musi aplikace rict klientske knihovne, ze resolvovani aliasu ma provadet.

 

 

2.2.2009 16:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
OpenLDAP to umi - je to soucasti standartu.
Po zkušenostech s OpenLDAP tuhle větu jako implikaci (<=) nevnímám.
Dulezity je aby to umel klient. Resolvovani aliasu provadi klientska knihovna a resolvovani probiha na strane klienta.
A tady se pravděpodobně jedná i o jinou klientskou knihovnu (předpokládám, že alespoň v některých případech jde o Javu). Každopádně se tím dostáváme zpět k problému ze začátku, že to musí podporovat přímo ta která aplikace.
2.2.2009 17:42 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

Aliasy jsou prima, když si člověk může hrát nebo nemá jinou možnost. Tohle je jednoduché, univerzální a ověřené řešení, které zvládne snad každá knihovna implementující ldap protokol ;-)

-- Nezdar není hanbou, hanbou je strach z pokusu.
31.1.2009 11:26 Jaris | skóre: 19 | blog: Jaris
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin

ahoj

napr pomocou filtra kde si definujes nejaky priznak (ou, objectClass,...) a ldap ti vrati iba vyhovujuce zaznamy 

2.2.2009 08:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle mne jsou tři možnosti: pokud jsou ty skupiny uživatelů disjunktní (nebo LDAP server sám vyřeší odkazy), je možné mít pro každou aplikaci vyhrazenou jinou část stromu. To jde ale trochu proti principu "jedno přihlášení pro všechny aplikace".

Druhá možnost je filtr. Snad většina aplikací umí použít pro vyhledávání filtr, takže pak třeba do pošty má přístup jenom ten, kdo má nastaven atribut mail atd. -- problém je, že většina aplikací používá ty samé údaje, takže pro odlišení by bylo nutné přidávat umělé atributy. A nebo si zavést vlastní atribut, který bude představovat příslušnost ke skupině (nebo použít nějaký už existující -- třeba member a třídu groupOfnames definovanou přímo v core.schema). Tahle varianta je asi nejlepší, pokud příslušnost ke skupině nepotřebuješ znát i na úrovni unixových systémových účtů.

Poslední možnost jsou klasické skupiny -- tam je problém v tom, že klasický posixAccount nemá uživatelské skupiny v sobě, ale je pro to zvláštní třída posixGroup, která obsahuje seznam členů. Takže příslušnost ke skupině nejde zjistit stejným dotazem, jako údaje o uživateli, ale je na to nutný druhý dotaz -- tudíž i podpora v aplikaci. Možná by to šlo řešit pomocí nějaké úpravy na straně serveru, která by ten dotaz provedla sama a přidala atribut do výsledků prvního dotazu.
2.2.2009 10:44 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

Puvodne jsem uvazoval o memberOf, ale jsem prilisny zelenac abych to dokazal zakomponovat do filtru. Ani si nejsem jist, zda to jde.

Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
2.2.2009 13:25 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
To by asi bylo nejelegantnější. Filtr nebude moc složitý, něco na způsob:(memberOf=cn=mojeskupina,ou=skupiny,o=atdatd)
In Ada the typical infinite loop would normally be terminated by detonation.
2.2.2009 11:05 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP

Jsou jeste dve moznosti.
Pouzit extra vetev s aliasy.
Napriklad cn=jmeno,ou=Mail,ou=Auth,dc=company,dc=cz tridy alias s hodnotou aliasedObjectName uid=jmeno,ou=People,dc=company,dc=cz
A jeste se pouziva treba v apache autorizaci groupOfUniqueNames.

My mame v LDAPu vsechno najednou. Jak aliasy, UNIX grupy, groupOfUniqueNames i nase vlastni atributy. Nejhorsi na spravu jsou vlastni atributy. Zbytek je celkem v pohode.
2.2.2009 11:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Pouzit extra vetev s aliasy. Napriklad cn=jmeno,ou=Mail,ou=Auth,dc=company,dc=cz tridy alias s hodnotou aliasedObjectName uid=jmeno,ou=People,dc=company,dc=cz
To je ta moje první možnost. Jenže záleží na tom, zda aplikace nebo server umí s aliasy zacházet.
2.2.2009 11:46 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
Ne, neni. Vy pisete o disjunktnich mnozinach uzivatelu v ruznych vetvich.
2.2.2009 12:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rizeni pristupu pres LDAP
(nebo LDAP server sám vyřeší odkazy)
odkaz = alias

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.