diff options
Diffstat (limited to 'ldap-site-mngmt/webinterface/lib')
-rw-r--r-- | ldap-site-mngmt/webinterface/lib/config.inc.php | 13 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/lib/ldap.inc.php | 56 |
2 files changed, 39 insertions, 30 deletions
diff --git a/ldap-site-mngmt/webinterface/lib/config.inc.php b/ldap-site-mngmt/webinterface/lib/config.inc.php index 50d7e465..653cc262 100644 --- a/ldap-site-mngmt/webinterface/lib/config.inc.php +++ b/ldap-site-mngmt/webinterface/lib/config.inc.php @@ -8,18 +8,21 @@ # Anlegen einer Variablen für den Speicherort von den CSVs # $TMPPATH_CSV="/home/gruppe1/public_html/htdocs/"; - // einige LDAP-Angaben: - // der Anwendungs-LDAP - define('LDAP_HOST', '132.230.9.56'); + # einige LDAP-Angaben: + # der Anwendungs-LDAP + define('LDAP_HOST', 'ldap://oranje.ruf.uni-freiburg.de'); + #define('LDAP_HOST', 'ldaps://oranje.ruf.uni-freiburg.de'); define('LDAP_PORT', 389); + #define('LDAP_PORT', 636); $suffix = "dc=uni-freiburg,dc=de"; $domsuffix = "uni-freiburg.de"; - // der LDAP-Server für die Authentisierung der User + + # der LDAP-Server für die Authentisierung der User #define('LDAP_HOST_RZ', '132.230.1.61'); #define('LDAP_PORT_RZ', 636); #$suffix_rz = "dc=uni-freiburg,dc=de"; - // einige Sachen, die aus Sicherheitsgründen in produktiven Umgebungen geändert werden sollten!!! + # einige Sachen, die aus Sicherheitsgründen in produktiven Umgebungen geändert werden sollten!!! #$dummyUid = "rz-ldap"; // Dummy-User für einige Aktionen - muss angelegt werden!!! #$dummyPassword = "dummy"; diff --git a/ldap-site-mngmt/webinterface/lib/ldap.inc.php b/ldap-site-mngmt/webinterface/lib/ldap.inc.php index 204e3e3c..793a54a4 100644 --- a/ldap-site-mngmt/webinterface/lib/ldap.inc.php +++ b/ldap-site-mngmt/webinterface/lib/ldap.inc.php @@ -34,31 +34,37 @@ function uniLdapConnect($userRdn = "", $userPwd = "") { # Connect zum LDAP-Server OK if(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) { # Optionen gesetzt - if($userRdn != "" && $userPwd != "") { - # Anmeldung als User. - if($result = @ldap_bind($ds, "uid=".$userRdn.",ou=people,".$suffix, $userPwd)) { - # Bind erfolgreich ausgeführt - return $ds; - } else { - # Bind nicht erfolreich. - if(ldap_error($ds) == "Invalid credentials") { - $ldapError .= "Bind nicht erfolgreich: die Zugangsdaten sind nicht korrekt.<br>\n"; - } else { - $ldapError .= "Bind als User nicht erfolgreich: ".ldap_error($ds)."<br>\n"; - } - return false; - } - } else { - # Anonymer Bind. - if($result = ldap_bind($ds)) { - # Anonymer Bind erfolgreich ausgeführt - return $ds; - } else { - # Anonymer Bind nicht erfolreich. - $ldapError .= "Anonymer Bind nicht erfolgreich: ".ldap_error($ds)."<br>\n"; - return false; - } - } + if (ldap_start_tls($ds)){ + if($userRdn != "" && $userPwd != "") { + # Anmeldung als User. + if($result = @ldap_bind($ds, "uid=".$userRdn.",ou=people,".$suffix, $userPwd)) { + # Bind erfolgreich ausgeführt + return $ds; + } else { + # Bind nicht erfolreich. + if(ldap_error($ds) == "Invalid credentials") { + $ldapError .= "Bind nicht erfolgreich: die Zugangsdaten sind nicht korrekt.<br>\n"; + } else { + $ldapError .= "Bind als User nicht erfolgreich: ".ldap_error($ds)."<br>\n"; + } + #print_r(ldap_error($ds));echo "<br><br>"; + return false; + } + } else { + # Anonymer Bind. + if($result = ldap_bind($ds)) { + # Anonymer Bind erfolgreich ausgeführt + return $ds; + } else { + # Anonymer Bind nicht erfolreich. + $ldapError .= "Anonymer Bind nicht erfolgreich: ".ldap_error($ds)."<br>\n"; + return false; + } + } + } else { + # TLS starten fehlgeschlagen + $ldapError .= "TLS starten fehlgeschlagen: ".ldap_error($ds)."<br>\n"; + } } else { # Optionen setzen fehlgeschlagen $ldapError .= "Protokollversion setzen fehlgeschlagen: ".ldap_error($ds)."<br>\n"; |