fhiiqm/test/ldap_test.php
changeset 40 6f4b105daa24
equal deleted inserted replaced
39:4ce411ed28b6 40:6f4b105daa24
       
     1 <?php
       
     2 
       
     3 /**
       
     4  * @author Bettina Schwarzer - Fritz-Haber-Institut
       
     5  * @copyright 08/2013
       
     6  * 
       
     7  * LDAP Test
       
     8  */
       
     9 
       
    10     error_reporting(E_ALL ^ E_NOTICE);
       
    11 
       
    12 $ldaphost = "ldap.rz-berlin.mpg.de";  // Ihr ldap servers
       
    13 $ldapport = 389;                 // Die Portnummer ihres ldap servers
       
    14 
       
    15 echo "<p>Test Verbindung zu LDAP</p>";
       
    16 // Verbindung zu LDAP
       
    17  $ldapconn = ldap_connect( $ldaphost, $ldapport ) 
       
    18           or die( "Keine Verbindung zu {$ldaphost} möglich" );
       
    19 
       
    20 if ($ldapconn)
       
    21 { 
       
    22     echo "Verbindung zu LDAP erfolgreich -> $ldapconn<br />";
       
    23     $login  = $_POST["login"];
       
    24     $log    = $_POST["log"];
       
    25 ?>
       
    26     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
       
    27     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
       
    28     
       
    29     <head>
       
    30     <!--	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> -->
       
    31     	<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
       
    32        	<link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" /> 
       
    33     
       
    34     	<title>LDAP + fhiiqm</title>
       
    35     </head>
       
    36     
       
    37     <body onload="document.flogin.user.focus();">
       
    38 <?php
       
    39 
       
    40     if (!$log)
       
    41         {
       
    42                 include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/form/login_form.inc.php");
       
    43         }
       
    44     else 
       
    45     {
       
    46 
       
    47 //        $ldaprdn = "cn=admin,dc=rz-berlin,dc=mpg,dc=de";
       
    48 //        $ldappwd = 'ooboot';
       
    49         $ldaprdn = "uid=" . $log["user"].",ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de";
       
    50         $ldappwd = $log["pass"];
       
    51         echo "rdn =  $ldaprdn<br />";
       
    52         ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
       
    53         ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
       
    54         $ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappwd);
       
    55     //    $ldapbind = @ldap_bind($ldapconn);
       
    56     
       
    57         $base="ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de";
       
    58         if ($ldapbind)
       
    59         {
       
    60             echo "<p>Authentifizierung erfolgreich!</p>";
       
    61             // Enable to show everything
       
    62             $filter = "(sn=*)"; 
       
    63             $afields = array ("uid","cn","givenName","sn","title","userPassword","mail");
       
    64             $afieldsort = array ("uid","givenName","sn");
       
    65             // search active directory
       
    66             if (!($search=@ldap_search($ldapconn,$base,$filter,$afields))) {
       
    67                 die("Unable to search ldap server");
       
    68                 }  
       
    69             foreach ($afieldsort as $esort) 
       
    70             {
       
    71                 if (in_array($esort, $afields)) { // making sure we don't accidentally try to sort against an inexisting field
       
    72                     ldap_sort($ldapconn, $search, $esort);
       
    73                 }
       
    74             }
       
    75             // Find out what we can see
       
    76             $number_returned = ldap_count_entries($ldapconn,$search);
       
    77             $info = ldap_get_entries($ldapconn, $search);   
       
    78             
       
    79             //Number of hits
       
    80             echo "<p>number of entries " . $number_returned . $newline ."</p>";
       
    81     		$bg1 = "#F8F8F8";
       
    82     		$bg2 = "#DEDFE1";
       
    83     		$bg = "#FFFFFF";
       
    84          
       
    85             echo "<div align='center'>\n";
       
    86             echo "<table border='0' cellspacing='2' cellpadding='2'>\n
       
    87                     <tr bgcolor='#68ACBF'><th>sn</th><th>givenName</th><th>cn</th><th>title</th><th>uid</th><th>userPassword</th><th>mail</th></tr>\n";  
       
    88             for ($i=0; $i<$info["count"]; $i++) 
       
    89             {
       
    90 //                if ($info[$i]["uid"][0] == $log["user"])
       
    91                 {
       
    92            			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
       
    93                     echo "<tr bgcolor='" . $bg . "'>";    
       
    94                     echo "<td>". $i. "&nbsp;".$info[$i]["sn"][0]."</td>";
       
    95                     echo "<td>". $info[$i]["givenname"][0]."</td>";
       
    96                     echo "<td>". $info[$i]["cn"][0]."</td>";
       
    97                     echo "<td>". $info[$i]["title"][0]."</td>";
       
    98                     echo "<td>". $info[$i]["uid"][0]."</td>";
       
    99                     echo "<td>". $info[$i]["userpassword"][0]."</td>";
       
   100                     echo "<td>". $info[$i]["mail"][0]."</td>";
       
   101                     echo "</tr>\n"; 
       
   102                 }   
       
   103             }
       
   104             echo "</table>";
       
   105             echo "</div>\n<br /><br />";
       
   106 //            ldap_close($ldapconn);
       
   107 /*            
       
   108             //LDAP-Einträge - Test         
       
   109             include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/func_lib.inc.php");
       
   110             $sn = "Kändler";
       
   111             $gn = "Jörn";
       
   112             $title = "Dr.";
       
   113             $roomnr = "A 2.06";
       
   114             $tel = array("3150", "3153 FAX");
       
   115             $mail = null;
       
   116             $dep = "VW";
       
   117             $ag = array("Verwaltung VL/AdGf");
       
   118             $success = ldap_replace($sn,$gn,$title,$roomnr,$tel,$mail,$dep,$ag);
       
   119             $gn = utf8_encode($gn);
       
   120             $sn = utf8_encode($sn);    
       
   121             if ($success) echo "<p>Hurra, Daten fuer user '$gn $sn' wurden in LDAP eingetragen!</p>";
       
   122             else echo "<p>LDAP-Aktualisierung fuer user '$gn $sn' ist leider fehlgeschlagen. :-(</p>";
       
   123 */
       
   124         }
       
   125     }
       
   126 }
       
   127 else echo "Verbindung zu LDAP failed -> $ldapconn";
       
   128 
       
   129 
       
   130 
       
   131 ?>
       
   132 </body>
       
   133 </html>