ldap_utils.php 936 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. $ini = parse_ini_file('../includes/config.ini');
  3. function get_ldap_conn() {
  4. try {
  5. global $ini;
  6. $ldapconn = ldap_connect($ini['hostname'], $ini['port']);
  7. ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
  8. ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
  9. ldap_start_tls($ldapconn);
  10. } catch (Exception $e) {
  11. die ('ERROR: ' . $e->getMessage());
  12. }
  13. return $ldapconn;
  14. }
  15. function bind_as_user($id, $passwd) {
  16. global $ini;
  17. $ldapconn = get_ldap_conn();
  18. if (!$ldapconn) {
  19. return false;
  20. }
  21. $res = @ldap_bind($ldapconn, "uid=" . $id . ',' . $ini["basedn"], $passwd);
  22. return array($res, $ldapconn);
  23. }
  24. function bind_as_operator() {
  25. global $ini;
  26. $ldapconn = get_ldap_conn();
  27. if (!$ldapconn) {
  28. return false;
  29. }
  30. $res = @ldap_bind($ldapconn, $ini["binddn"], $ini["bindpw"]);
  31. return array($res, $ldapconn);
  32. }