1A - Konkrét projekt szűrése: tagja-e a projektnek adott felhasználó? + felesleges hálózati forgalom elkerülése

+2 votes
asked Mar 29, 2014 in IRF tantárgy by Pietro (72 points)  

Sziasztok!

Pont olyan megoldást találtam ki, mint ami itt felmerült, tehát hogy az adott egyetemi szervezeti egységbe tartozó tagok listáján (LDAPEntry-k) végigmegyek, és minden lépésben ellenőrzöm, hogy az adott DN-nel rendelkező tag szerepel-e egy adott projektben. Ezenkívül az egyeztetést minden egyes projektre elvégzem (a projektek nevének listáját pedig előzetesen egy másik lépésben kapom meg).

Viszont amennyiben konkrét lekérdezést hajtok végre, akkor tulajdonképpen a teljes, projekthez tartozó részfát megkapom, és ez felesleges hálózati forgalomnak tűnik, itt egy konkrét, kipróbálható példa, egy megadott DN-nel:

import pprint
pp = pprint.PrettyPrinter(indent=2)
projectTestSearch = conn.search("cn=Project Angel,ou=Projects,dc=irf,dc=local", 2, '(member=cn=aappleby,ou=Computational Complexity,ou=Department of Computer Science,ou=Faculty of Informatics,ou=Faculties,ou=University,dc=irf,dc=local)')

pp.pprint(projectTestSearch)

Nos, ezt tudom úgy még szűrni, hogy megadok egy attribútumlistát, mondjuk csak a CN-t kérdezem le:

projectTestSearch = conn.search("cn=Project Angel,ou=Projects,dc=irf,dc=local", 2, '(member=cn=aappleby,ou=Computational Complexity,ou=Department of Computer Science,ou=Faculty of Informatics,ou=Faculties,ou=University,dc=irf,dc=local)',
                                ['cn'])

Ez így jó megközelítés arra, hogy csupán annyit ellenőrizzek, egy tag része-e a projektnek?

És ha már a hálózati forgalom csökkentése felmerült: egyáltalán jó ez a megközelítés így, hogy minden cikluslépésben az LDAP-szerverhez fordulok? Vagy nem is tudnám másként?
Azért merült fel bennem, hogy ez potenciális probléma, mert így van némi overhead a dologban, főleg, ha nem lokális LDAP-szerverről van szó.
Ebből a válaszból úgy tűnik, hogy olyan nagyon nincs jobb megoldás, de hátha mégis létezik elegánsabb módszer, amiről nem tudok.

Előre is köszönöm a válasz(oka)t!

Please log in or register to answer this question.

...