X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FLDAPConnector.py;h=8699fd2ba6f536d39efd434ca534c685bdad87e7;hp=7bdcd2b30dafeeda33630502f790975a83f7083d;hb=e423f11f190d685156cb557319b169d2b79b752f;hpb=8db94ace40695d25206f85e17ad8e34a44932704 diff --git a/sql-edition/servers/LDAPConnector.py b/sql-edition/servers/LDAPConnector.py index 7bdcd2b..8699fd2 100644 --- a/sql-edition/servers/LDAPConnector.py +++ b/sql-edition/servers/LDAPConnector.py @@ -13,7 +13,7 @@ def get_ldap_connection(): conn = ldap.initialize('ldaps://mussel.ucc.gu.uwa.edu.au/') binddn = 'cn=mifareagent,ou=profile,dc=ucc,dc=gu,dc=uwa,dc=edu,dc=au' - passfile = open('/etc/dispense/ldap.passwd') + passfile = open('/etc/dispense2/ldap.passwd') password = passfile.readline().strip() passfile.close() @@ -36,6 +36,22 @@ def get_uid(card_id): return results[0][1]['uidNumber'][0] +def get_uname(uid): + ldapconn = get_ldap_connection() + + basedn = 'ou=People,dc=ucc,dc=gu,dc=uwa,dc=edu,dc=au' + filter = ldap.filter.filter_format('(uidNumber=%s)', (uid, )) + attrs = ('uid',) + + results = ldapconn.search_st(basedn, ldap.SCOPE_SUBTREE, filter, attrs, timeout=LDAP_TIMEOUT) + + ldapconn.unbind() + + if len(results) != 1: + raise ValueError, "no username found for user id" + + return results[0][1]['uid'][0] + def set_card_id(uidNumber, card_id): ldapconn = get_ldap_connection()