Мне нужно получить имя моего пользователя, чтобы установить переменную и использовать ее для лучшего использования для пользователя.Получить имя пользователя из LDAP PHP
Пример: Войти с luis.lino
и установить $ name = "Luis Lino"
, где Luis Lino
извлекается из AD через LDAP.
Как так что я могу сделать «Добро пожаловать Луис Лино, мы надеемся, вам понравится ваше время здесь»
Я использую этот код:
$myusername = mysqli_real_escape_string($db,$_POST['username']) . "@domain.com";
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$local = $_POST['filial'];
$ldap = ldap_connect("ldap://domain.com");
if ($bind = ldap_bind($ldap, $myusername, $mypassword))
{
$_SESSION['login_user'] = $myusername;
$filter = "(&(sAMAccountName={$myusername}))";
$ldap_dn = "dc=domain.com";
$attr = array("givenname");
$result = ldap_search($ldap, $ldap_dn, $filter, $attr) or exit("Unable to search LDAP server");
$entries = ldap_get_entries($ldap, $result);
$givenname = $entries[0]['givenname'][0];
ldap_unbind($ldap);
setcookie("name", $givenname, time() + (86400 * 30), "/");
setcookie("sessao", $local, time() + (86400 * 30), "/"); // 86400 = 1 dia
header("location: welcome.php");
}
Если я просто использовать «вход» часть его отлично работает, но с указанным кодом, я получаю следующее сообщение об ошибке:
Warning: ldap_search(): Search: Client Loop in C:\wamp\www\OperPHP\index.php on line 20
Я уже смотрел на множество постов, но никто не решить мою проблему, кто знает, как решить эту проблему?