我正在努力通过 PHP 验证来自 LDAP 的用户。我已经尝试了一些代码,现在我可以完美地验证用户。但是在登录失败的情况下,我想显示一个带有一些自定义消息的模式弹出窗口。这是我的代码 -
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$username = $_POST['username'];
//print($username);
$password = $_POST['password'];
//print($password);
// using ldap bind
$ldaprdn = 'uid=' .$username. ',ou=People,ou=AP,o=abcd.com'; // ldap rdn or dn
$ldappass = $password;
// connect to ldap server
$ldapconn = ldap_connect("ad.abcd.com") or die("Could not connect to LDAP server.");
if ($ldapconn) {
try {
$ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappass);
} catch (Exception $e) {
//echo "<script type='text/javascript'>$('#myModal').modal('show');</script>";
//echo "<script type='text/javascript'>$('#myModal').fadeIn('show');</script>";
echo "<script>
$(window).load(function(){
$('#myModal').modal('show');
});
</script>";
}
if ($ldapbind) {
$filter = '(sAMAccountName='.$username.')';
$result = ldap_search($ldapconn, $ldaprdn, "(cn=*)") or exit("Unable to search LDAP server");
$entries = ldap_get_entries($ldapconn, $result);
$userDN = $entries[0]["ikealegacyuid"][0];
echo ('<p style="color:green;">I have the user DN: '.$userDN.'</p>');
$url = 'Location: logpage01.html?uid=' .$userDN;
echo $url;
header($url);
} else {
//echo "<script type='text/javascript'>$('#myModal').modal('show');</script>";
//echo "<script type='text/javascript'>$('#myModal').fadeIn('show');</script>";
echo "<script>
$(window).load(function(){
$('#myModal').modal('show');
});
</script>";
}
}
}
我尝试了在这里找到的许多解决方案。但没有任何效果。需要一些帮助。