diff options
-rw-r--r-- | ldap-site-mngmt/webinterface/computers/dhcphost.php | 8 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/index.php | 1 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/ip/ip_menu.php | 19 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/ip/no_ip.dwt | 11 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/ip/no_ip.php | 33 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/lib/config.inc.php | 13 | ||||
-rw-r--r-- | ldap-site-mngmt/webinterface/lib/ldap.inc.php | 56 |
7 files changed, 104 insertions, 37 deletions
diff --git a/ldap-site-mngmt/webinterface/computers/dhcphost.php b/ldap-site-mngmt/webinterface/computers/dhcphost.php index 5267157c..6a934202 100644 --- a/ldap-site-mngmt/webinterface/computers/dhcphost.php +++ b/ldap-site-mngmt/webinterface/computers/dhcphost.php @@ -122,18 +122,18 @@ if ($dhcphlpcont == ""){ $rbs_dhcpopt = ""; $altrbs = alternative_rbservices($rbsDN); - if (count($altrbs) != 0){ + $rbs_selectbox .= "<td class='tab_d'> <select name='rbs' size='4' class='medium_form_selectbox'> <option selected value='none'>----------</option>"; - + if (count($altrbs) != 0){ foreach ($altrbs as $item){ $rbs_selectbox .= " <option value='".$item['dn']."'>".$item['cn']." ".$item['au']."</option>"; } - $rbs_selectbox .= "<option value=''>Kein RBS</option> - </select></td>"; } + $rbs_selectbox .= "<option value=''>Kein RBS</option> + </select></td>"; # RBS Daten if ($rbsDN == ""){ diff --git a/ldap-site-mngmt/webinterface/index.php b/ldap-site-mngmt/webinterface/index.php index 32c2e4ce..83938ae7 100644 --- a/ldap-site-mngmt/webinterface/index.php +++ b/ldap-site-mngmt/webinterface/index.php @@ -29,6 +29,7 @@ $template->define(array("Vorlage" => "index.dwt", $template->assign(array("SEITENTITEL" => $titel)); + ############################################################ # Daten in die Vorlage parsen diff --git a/ldap-site-mngmt/webinterface/ip/ip_menu.php b/ldap-site-mngmt/webinterface/ip/ip_menu.php index 528a4066..73796814 100644 --- a/ldap-site-mngmt/webinterface/ip/ip_menu.php +++ b/ldap-site-mngmt/webinterface/ip/ip_menu.php @@ -3,17 +3,30 @@ function createIPMenu($rollen , $mnr) { global $template; global $START_PATH; + global $auDN; + + $mipb_array = get_maxipblocks_au($auDN); + #print_r($mipb_array); + if ( $mipb_array[0] == "" ){ + $iprechnerlink = "no_ip.php?mnr=1"; + $ipdhcplink = "no_ip.php?mnr=2"; + $ipdeleglink = "no_ip.php?mnr=3"; + }else{ + $iprechnerlink = "ip_rechner.php"; + $ipdhcplink = "ip_dhcp.php"; + $ipdeleglink = "ip_deleg.php"; + } # Struktur der Registerkartenleiste $hauptmenu = array(array("link" => "ip.php", "text" => "Übersicht", "zugriff" => "alle"), - array("link" => "ip_rechner.php", + array("link" => $iprechnerlink, "text" => "IP Adressen Rechner", "zugriff" => array("MainAdmin","HostAdmin")), - array("link" => "ip_dhcp.php", + array("link" => $ipdhcplink, "text" => "IP Adressen DHCP", "zugriff" => array("MainAdmin","HostAdmin","DhcpAdmin")), - array("link" => "ip_deleg.php", + array("link" => $ipdeleglink, "text" => "Delegierte IP Bereiche", "zugriff" => array("MainAdmin"))); diff --git a/ldap-site-mngmt/webinterface/ip/no_ip.dwt b/ldap-site-mngmt/webinterface/ip/no_ip.dwt new file mode 100644 index 00000000..5bc09796 --- /dev/null +++ b/ldap-site-mngmt/webinterface/ip/no_ip.dwt @@ -0,0 +1,11 @@ +<table border='0' cellpadding='5' cellspacing='0' width='100%'> + <tr> + <td colspan='2'><h3>Diese Funktion steht Ihnen nicht zur Verfügung. </h3> + Sie verfügen über keine IP Adressen, die Sie an Rechner, DHCP Subnetze vergeben, + bzw. an untergeordnete AUs delegieren können.</td> + </tr> + <tr> + <td height='10'></td> + </tr> + +</table>
\ No newline at end of file diff --git a/ldap-site-mngmt/webinterface/ip/no_ip.php b/ldap-site-mngmt/webinterface/ip/no_ip.php new file mode 100644 index 00000000..3cf62d81 --- /dev/null +++ b/ldap-site-mngmt/webinterface/ip/no_ip.php @@ -0,0 +1,33 @@ +<?php + +include('../standard_header.inc.php'); + +# 1. Seitentitel - wird in der Titelleiste des Browser angezeigt. +$titel = "IP Address Management"; +# 2. Nummer des zugehörigen Hauptmenus (Registerkarte) beginnend bei 0, siehe Dokumentation.doc. +$mainnr = 2; +$mnr = 1; +# 3. Dateiname und evtl. Pfad des Templates für die Webseite +$webseite = "no_ip.dwt"; + +include("../class.FastTemplate.php"); + +include("ip_header.inc.php"); + +############################################################################### + +$mnr = $_GET['mnr']; + +# Menuleiste erstellen +createMainMenu($rollen, $mainnr); +createIPMenu($rollen, $mnr); + +include("ip_blocks.inc.php"); + +############################################################################### + +############################################################################### + +include("ip_footer.inc.php"); + +?> 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"; |