Search email registered in AD with PHP

1

I have PHP below that connects to AD using LDAP , working perfectly:

<?php

$username2 = $_POST["username"];    //Recebe o usuario do form "index.php"
$password = $_POST["senha"];       //Recebe a senha do form "index.php"

//Força a alteração do nome para minuscula, no caso de o navegador nao aceitar o JS de transformação.
$username = strtolower($username2);

//Seta exibição de Erros
ini_set('error_reporting',E_ALL);
ini_set('display_errors',1);

//Conexao com AD
$ldapconfig['host']= '192.168.203.5'; //AD-001
$ldapconfig['port']= '389'; //Porta Padrão
$domain= 'peccin.local';

//Faz conexão com AD usando LDAP
$sn= ldap_connect($ldapconfig['host'], $ldapconfig['port']);
ldap_set_option($sn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($sn, LDAP_OPT_REFERRALS, 0);

@$bind=ldap_bind($sn, $username .'@'.$domain, $password);

//Testa se deu erro de conexão ou usuario e senha em branco (tentativa de injection)
if ((!$bind) || empty($username) || empty($password)) {

         ?>
            <script language="JavaScript">
            <!--
            alert("Usuário/Senha Inválida!");
            window.location = 'index.peccin';
            //-->
            </script>
        <?php

//grava acesso negado
include ("org/logger_negado.php"); //GRAVA ACESSO
//Fecha conexao
ldap_unbind($sn);

} else {

// Cria sessão
if (!isset($_SESSION)) session_start();
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $username;
$_SESSION['UsuarioPass'] = $password;

//Direciona para a página principal
include "org/logger.php"; //GRAVA ACESSO
echo "<script>window.location='index2.peccin'</script>";

}

?>

But today came the need to rescue the email address registered in AD for the logged in user, I tried the code below, but it only returns array error, without displaying the result. Can you get this information?

$filter = "(sAMAccountName=diego*)";
$attributes = array('mail');
$search = ldap_search($sn,'DC=peccin, DC=local', $filter, $attributes);

$data = ldap_get_entries($sn, $search);

foreach ($data AS $key => $value){

echo $value[$key];

}
    
asked by anonymous 03.07.2017 / 16:26

0 answers