Я установил PHP в IIS и протестировал этот скрипт, но ответа нет после того, как я ввожу правильные или неправильные данные для входа. Я пытаюсь подключиться к серверу ldap через telnet, и он подключается правильно.
<?php
$LDAPserver = "ldap.server.com"; // LDAP server
$LDAPsuffix = "o=companyname, o=companynet"; // LDAP Tree
if (!empty($_POST['login']))
{
//print_r($_POST);
echo "<br><br>";
$userid = $_POST['username']; // User key their userid or email
$userpassword = $_POST['userpassword']; // User key their password
$ds=ldap_connect($LDAPserver);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$bind=@ldap_search($ds, $LDAPsuffix, "uid=".$userid);
if ($bind)
{
echo "LDAP bind success <br>";
$result = @ldap_get_entries($ds, $bind);
if ($result[0])
{
if (@ldap_bind( $ds, $result[0]['dn'], $userpassword))
{
echo "User bind success <br>";
// Can proceed to check database
}
else
{
echo "User bind failed - Invalid password <br>";
}
}
else
{
echo "User does not has LDAP account <br>";
}
}
else
{
echo "LDAP bind failed <br>";
}
ldap_close($ds);
}
?>
<html>
<head>
<title>Login with LDAP Authentication</title>
</head>
<body>
<form action="ldaplogin.php" name="passwordChange" method="post">
<table style="width: 400px; margin: 0 auto;">
<tr><th>Enter username/email:</th><td><input name="username" type="text" size="0" autocomplete="off" /></td></tr>
<tr><th>Enter your password:</th><td><input name="userpassword" size="20" type="password" /></td></tr>
<tr><td colspan="2" style="text-align: center;" >
<input name="login" type="submit" value="Login"/></td></tr>
</table>
</form>
</div>
</body>
</html>