diff --git a/json2ldap.py b/json2ldap.py index 070aebc..9ad048b 100644 --- a/json2ldap.py +++ b/json2ldap.py @@ -1,9 +1,12 @@ import json from ldap3 import Server, Connection, ALL +basedn = 'dc=nantes,dc=omero-fbi,dc=fr' +usersdn = 'cn=users,'+basedn + serv = Server('10.54.3.60', get_info=ALL) # define an unsecure LDAP server, requesting info on DSE and schema -conn = Connection(s, user='cn=admin,dc=nantes,dc=omero-fbi,dc=fr', password='Jps55Sk8An9y2nVL') +conn = Connection(serv, user='cn=admin,dc=nantes,dc=omero-fbi,dc=fr', password='Jps55Sk8An9y2nVL') if not conn.bind(): print('error in bind', conn.result) @@ -13,16 +16,20 @@ data_file="user.json" with open(data_file, "r") as file: json_user = json.load(file) - ldap_user_dn = json_user["dn"] + ldap_full_username = json_user["params"]["attributes"]["uid"] ldap_full_passwd = json_user["params"]["attributes"]["userPassword"] ldap_givenname = json_user["params"]["attributes"]["givenName"] ldap_surname = json_user["params"]["attributes"]["sn"] + ldap_cn = json_user["params"]["attributes"]["cn"] ldap_homedir = json_user["params"]["attributes"]["homeDirectory"] ldap_mail = json_user["params"]["attributes"]["mail"] ldap_uid_number = json_user["params"]["attributes"]["uidNumber"] ldap_gid_number = json_user["params"]["attributes"]["gidNumber"] + ldap_user_dn = 'uid=' + ldap_full_username + ',' + usersdn - conn.add(ldap_user_dn, ['inetOrgPerson', 'posixAccount', 'person', 'top'], {'sn': ldap_surname, 'gidNumber': ldap_gid_number, 'uidNumber': ldap_uid_number}, 'mail': ldap_mail, 'homeDirectory': ldap_homedir, 'userPassword': ldap_full_passwd, 'givenName': ldap_givenname, 'uid': ldap_full_username) + conn.add(ldap_user_dn, ['inetOrgPerson', 'posixAccount', 'person', 'top'], {'sn': ldap_surname, 'gidNumber': ldap_gid_number, 'uidNumber': ldap_uid_number, 'mail': ldap_mail, 'homeDirectory': ldap_homedir, 'userPassword': ldap_full_passwd, 'givenName': ldap_givenname, 'uid': ldap_full_username, 'cn': ldap_cn}) + +print(conn.result) +conn.unbind() -print(c.result)