authLdap.py 778 B

12345678910111213141516171819202122232425262728
  1. # -*- coding: utf-8 -*-
  2. import sys
  3. import ldap
  4. import radicale
  5. LDAPSERVER = config.get("authLdap", "LDAPServer")
  6. LDAPPREPEND = config.get("authLdap", "LDAPPrepend")
  7. LDAPAPPEND = config.get("authLdap", "LDAPAppend")
  8. def has_right(owner, user, password):
  9. if user == None:
  10. user=""
  11. if password == None:
  12. password=""
  13. if owner != user:
  14. return False
  15. try:
  16. radicale.log.LOGGER.info("Open LDAP server connexion")
  17. l=ldap.open(LDAPSERVER, 389)
  18. cn="%s%s,%s" % (LDAPPREPEND, user, LDAPAPPEND)
  19. radicale.log.LOGGER.info("LDAP bind with dn: %s" % (cn))
  20. l.simple_bind_s(cn, password);
  21. radicale.log.LOGGER.info("LDAP bind ok")
  22. return True
  23. except:
  24. radicale.log.LOGGER.info("Nu such credential")
  25. return False