Enregistrement utilisateur LDAP
Bonjour,
Dans le cadre d'un projet professionnel, je dois récupérer des utilisateurs sur un annuaire LDAP et les enregistrer sur un annuaire LDAP distant, le tout en Python, langage que je ne connais pas trop. :oops:
La récupération des utilisateurs ne m'a pas posé de problème, par contre c'est pour les enregistrer que ça ne va plus (bien entendu, j'ai vérifié la configuration dns, l'ouverture des ports entre les serveur, l'annuaire ldap... ). :D
Voici le code qui, je ne le cache pas, est très fortement inspiré d'exemples trouvés via google. :roll:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| #!/usr/bin/python
# -*- coding:utf-8 -*-
############################
# Variables #
############################
_LDAP_SERVER_FTP = "ftp"
_LDAP_USERS_BASE_DN_FTP = "ou=Users,dc=exemple,dc=fr"
_LDAP_DOMAIN_BASE_DN_FTP = "dc=exemple,dc=fr"
_LDAP_CRED_LOGIN_FTP = "cn=admin,dc=exemple,dc=fr"
_LDAP_CRED_PASSWD_FTP = "secret"
#############################
# Modules #
#############################
import ldap
import ldap.modlist as modlist
############################
# Main #
############################
try:
_ldap_session = ldap.initialize("ldap://%s/" % (_LDAP_SERVER_FTP))
_ldap_session.protocol_version = ldap.VERSION3
_ldap_session.simple_bind_s(_LDAP_CRED_LOGIN_FTP, _LDAP_CRED_PASSWD_FTP)
except ldap.LDAPError, e:
print "ERREUR: Impossible de se connecter au serveur LDAP: ", e
sys.exit(0)
try:
dn="cn=usertest,ou=Users,dc=st-ouen,dc=fr"
# Dictionnaire des attributs souhaites
attrs = {}
attrs['objectclass'] = ['top','inetOrgPerson','posixAccount']
attrs['cn'] = 'usertest'
attrs['userPassword'] = 'secret'
# Convertion du distionnaire
ldif = modlist.addModlist(attrs)
# Envoie vers le serveur
_LDAP_SERVER_FTP.add_s(dn,ldif)
except ldap.LDAPError, e:
print e
sys.exit(0) |
A chaque fois que je lance le script, j'ai cette erreur*:
Code:
1 2 3 4
| Traceback (most recent call last):
File "./adduser.py", line 45, in ?
_LDAP_SERVER_FTP.add_s(dn,ldif)
AttributeError: 'str' object has no attribute 'add_s' |
J'ai essayé plusieurs solutions trouvées sur google pour ce genre de message d'erreur, mais sans succès. C'est pour cela que je vous appel à l'aide. :)
Je ne sais pas si j'ai poster dans le bon forum, et je m'en excuse si ce n'est pas le cas.
Merci pour vos réponses,
Cordialement.