Archive for May, 2008

LDAP Login

Thursday, May 22nd, 2008

Salam, Code below is an example how to make your system login using LDAP.

<form name="form1" method="post" action="<?=$_SERVER['PHP_SELF'];?>">
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr bgcolor="#FFFFFF">
<td colspan="2">Beta Version LDAP Login 4 UTHM Web Application </td>
</tr>
<tr bgcolor="#FFFFFF">
<td>User</td>
<td><input type="text" name="user"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td>Password</td>
<td><input type="password" name="pass"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2"><div align="center">
<input type="hidden" name="log" value="true">
<input type="submit" name="submit" value="Submit">
</div></td>
</tr>
</table></td>
</tr>
</table>
</form>

<?
/*///////////////////////////////////////
/ Creator : Muhamad Rais Abd Halim /
/ Email : rais@n9.my /
/ What is : Simple LDAP Login /
///////////////////////////////////////*/
ini_set('display_errors', 'off');
$user = $_POST['user'];
$pass = $_POST['pass'];
$binddn = "uid=$user,ou=people,o=n9.my,dc=n9,dc=my";
$ldapBase = 'DC=kuittho,DC=edu,DC=my';
$host = "ldap.test.com"

if(!empty($_POST['user']) && !empty($_POST['pass'])){
$conn = ldap_connect("$host") or die("Could not connect to server. Error is " . ldap_error($conn));

$root_dn ="$binddn";
$root_pw = "$pass";

if($conn){
$r = ldap_bind($conn, $root_dn, $root_pw);
if($r){
$ldapSearch = ldap_search($conn, $ldapBase, "(uid=$user)");
$ldapResults = ldap_get_entries($conn, $ldapSearch);
//kalau login berjaya g sini
echo "<br>Login Success<br>";
echo "No Pekerja anda ialah ".$ldapResults[0]['employeenumber'][0]."<br>";
exit(0);
} else {
echo "<br>Login Fail<br>";
exit(0);
}

ldap_close($conn);
} else {
echo "Could not connect to server";
exit(0);
}
} else {//if not null
if(!empty($_POST['log'])){
if(empty($_POST['user'])) echo "<br>no user input";
if(empty($_POST['pass'])) echo "<br>no password input";
}
}
?>