Requête LDAP pour avoir les noms des gens
This commit is contained in:
parent
456fb50a47
commit
59e1840308
2 changed files with 21 additions and 2 deletions
|
@ -10,6 +10,8 @@ from taggit.managers import TaggableManager
|
||||||
|
|
||||||
from monstage.listepays import PAYS_CHOICES
|
from monstage.listepays import PAYS_CHOICES
|
||||||
|
|
||||||
|
import ldap
|
||||||
|
|
||||||
TYPE_STAGE_CHOICES = (
|
TYPE_STAGE_CHOICES = (
|
||||||
('stage', _(u"Stage")),
|
('stage', _(u"Stage")),
|
||||||
)
|
)
|
||||||
|
@ -41,6 +43,22 @@ class Normalien(models.Model):
|
||||||
def create_user_profile(sender, instance, created, **kwargs):
|
def create_user_profile(sender, instance, created, **kwargs):
|
||||||
if created:
|
if created:
|
||||||
Normalien.objects.get_or_create(user = instance)
|
Normalien.objects.get_or_create(user = instance)
|
||||||
|
try:
|
||||||
|
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
|
||||||
|
l = ldap.initialize("ldaps://ldap.spi.ens.fr:636")
|
||||||
|
l.set_option(ldap.OPT_REFERRALS, 0)
|
||||||
|
l.set_option(ldap.OPT_PROTOCOL_VERSION, 3)
|
||||||
|
l.set_option(ldap.OPT_X_TLS,ldap.OPT_X_TLS_DEMAND)
|
||||||
|
l.set_option( ldap.OPT_X_TLS_DEMAND, True )
|
||||||
|
l.set_option( ldap.OPT_DEBUG_LEVEL, 255 )
|
||||||
|
info = l.search_s('dc=spi,dc=ens,dc=fr',ldap.SCOPE_SUBTREE,'(uid=%s)' % (instance.username,),['cn','mail'])
|
||||||
|
if len(info) > 0:
|
||||||
|
noms = info[0][1]['cn'][0].split(" ")
|
||||||
|
instance.first_name = noms[0]
|
||||||
|
instance.last_name = ' '.join(noms[1:])
|
||||||
|
instance.save()
|
||||||
|
except ldap.LDAPError:
|
||||||
|
pass
|
||||||
post_save.connect(create_user_profile, sender = User)
|
post_save.connect(create_user_profile, sender = User)
|
||||||
|
|
||||||
class Lieu(models.Model):
|
class Lieu(models.Model):
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
django>=1.7
|
django>=1.7
|
||||||
django-cas-ng
|
django-cas (patched)
|
||||||
psycopg2
|
psycopg2
|
||||||
postgis
|
postgis
|
||||||
django-taggit
|
django-taggit
|
||||||
|
python-ldap
|
Loading…
Reference in a new issue