Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe alan

[Resolvido] Problema verificação de usuarios no AD via Php

Recommended Posts

Boa tarde pessoal, estou com alguns problemas com integração php com AD.

 

Primeiro gostaria de saber se existe algum meio de com php conseguir descobrir via web qual o usuario e dominio esta logado na estação,

 

segundo com o resultado desse retorno eu vou verificar se a conta esta ativa no AD e permissões.

 

até agora eu consegui conectar no AD através de um usuario qualquer, estou tentando realizar a leitura de todos os usuarios do mesmo grupo do usuario logado ,

 

porem não estou conseguindo mostrar o resultado da leitura, a principio eu só quero dar um echo na tela do nome dos usuarios capturados no ad e compara com o do usuario capturado utilizando uma estação qualquer.

 

, segue um trecho de um codigo q fiz, caso souberem alguma outra maneira melhor ja agredeço.

vlw

 

$root_dn ="exemplolocal\\Cobaia";
$root_pw="123456";
$personnel_base = "CN=Cobaia da Silva,OU=IT,OU=ADM,OU=predio,DC=exemplo,DC=local";

$ldap_con = ldap_connect("xxx.xxx.xxx.xxx:389") or die("Could not connect to server. Error is " . ldap_error($ldap_con));
$ldap_bd = ldap_bind($ldap_con, $root_dn, $root_pw) or die("Could not bind to server. Error is " .ldap_error($ldap_con));
$result = ldap_search($ldap_con, $personnel_base, "(uid=*)") or die ("Error in query");

$data = ldap_get_entries($ldap_con, $result);

for ($i=0; $i<=$data["count"];$i++) {

echo $data[$i]["samaccountname"][0];//esta dando erro 


}
print_r ($data);
ldap_close($ldap_con);

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo $data[$i]["samaccountname"][0];

 

ta certo essa variavel tridemensional?

 

n seria só

 

echo $data["samaccountname"][$i];

 

 

de qualquer modo, da um var_dump nela e ve se ta chegando algo do AD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok realizei o os dois testes

 

com o $data["samaccountname"][$i]; não esta reconhecendo a variavel samaccontname,

 

testei o var_dump com as seguintes variaveis

var_dump($result); //retornando o valor  "resource(3, ldap result)"

var_dump($data);//retornando o valor "array 'count' => int 0"

 

É possivel q o usuario q estou tentando acesso não consiga realizar a pesquisa no grupo pelo ldap_search()?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tu simplismente troca no root o usuário ele executa normalmente? :huh:

 

 

é que tpw, ele passando ta pelo query e ta dando erro no echo, certo?

 

mas se bem que o var_dump($data) não ta mostrando nada, então a consulta ta tendo problemas... :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tu simplismente troca no root o usuário ele executa normalmente? :huh:

 

 

é que tpw, ele passando ta pelo query e ta dando erro no echo, certo?

 

mas se bem que o var_dump($data) não ta mostrando nada, então a consulta ta tendo problemas... :huh:

 

realizei algumas alterações no codigo e consegui um resultado na consulta, porém não sei se algum dos paramentros q foi retornado é possivel q eu consiga capturar o nome dos usuarios no Ad,

 

a seguir as alterações q fiz no digo

$ldap_server = "XXX.XXX.XXX.XXX"; /*Usamos o nome do dominio ou o nome do Servidor do dominio Casa seja 1 servidor Apenas*/

// Usuario para autenticacao na Base LDAP
$auth_user = "exemplolocal\\cobaia"; /*nome Netbios\usuario*/
$auth_pass = "123456"; /*Senha do usuario do dominio*/

// Caminho LDAP do Dominio
$base_dn = "CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local";//Nome do Dominio completo + OU principal

// Caminho LDAP do Grupo para consulta
$filter = 'samaccountname=*';

// Funcao para conectar na base LDAP e listas os usuarios de um grupo.



if (($connect=@ldap_connect($ldap_server))) {

if (($bind=@ldap_bind($connect, $auth_user, $auth_pass))) {

	if (($search=@ldap_search($connect, $base_dn, $filter))){

		$number_returned = ldap_count_entries($connect,$search);
		$info = ldap_get_entries($connect, $search);

                       var_dump($info);

		for ($i=0; $i < $info["count"]; $i++){

			$user_pure = $info[$i]["samaccountname"][$i];
			$user_up = strtoupper($user_pure);
			echo "Ususario - $user_up<br>";// aqui q eu gostaria de ver os nomes dos usuarios, porem esta retornando apenas um valor "Usuarios do dominio"
		}

	} else {
		echo "problema na pesquisa";
	}
} else {
	echo "problema na autenticação";
}
} else {
echo "problema na conexão";
}

// Fecha a conexao LDAP.
ldap_close($connect);

 

Aqui o retorno do var_dump()

 

array
 'count' => int 1
 0 => 
   array
     'objectclass' => 
       array
         'count' => int 2
         0 => string 'top' (length=3)
         1 => string 'group' (length=5)
     0 => string 'objectclass' (length=11)
     'cn' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     1 => string 'cn' (length=2)
     'description' => 
       array
         'count' => int 1
         0 => string 'Todos os usuários do domínio' (length=28)
     2 => string 'description' (length=11)
     'distinguishedname' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)
     3 => string 'distinguishedname' (length=17)
     'instancetype' => 
       array
         'count' => int 1
         0 => string '4' (length=1)
     4 => string 'instancetype' (length=12)
     'whencreated' => 
       array
         'count' => int 1
         0 => string '20051004211108.0Z' (length=17)
     5 => string 'whencreated' (length=11)
     'whenchanged' => 
       array
         'count' => int 1
         0 => string '20090529161714.0Z' (length=17)
     6 => string 'whenchanged' (length=11)
     'usncreated' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     7 => string 'usncreated' (length=10)
     'memberof' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários,CN=Builtin,DC=exemplo,DC=local' (length=37)
     8 => string 'memberof' (length=8)
     'usnchanged' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     9 => string 'usnchanged' (length=10)
     'name' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     10 => string 'name' (length=4)
     'objectguid' => 
       array
         'count' => int 1
         0 => string 'ÂWÄÏÇE/sUh¹B&' (length=16)
     11 => string 'objectguid' (length=10)
     'objectsid' => 
       array
         'count' => int 1
         0 => string 'ßgÉë«÷½7
f' (length=28)
     12 => string 'objectsid' (length=9)
     'samaccountname' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     13 => string 'samaccountname' (length=14)
     'samaccounttype' => 
       array
         'count' => int 1
         0 => string '268435456' (length=9)
     14 => string 'samaccounttype' (length=14)
     'grouptype' => 
       array
         'count' => int 1
         0 => string '-2147483646' (length=11)
     15 => string 'grouptype' (length=9)
     'objectcategory' => 
       array
         'count' => int 1
         0 => string 'CN=Group,CN=Schema,CN=Configuration,DC=exemplo,DC=local' (length=50)
     16 => string 'objectcategory' (length=14)
     'iscriticalsystemobject' => 
       array
         'count' => int 1
         0 => string 'TRUE' (length=4)
     17 => string 'iscriticalsystemobject' (length=22)
     'dscorepropagationdata' => 
       array
         'count' => int 5
         0 => string '20090618211336.0Z' (length=17)
         1 => string '20090618205302.0Z' (length=17)
         2 => string '20090618204455.0Z' (length=17)
         3 => string '20090618203304.0Z' (length=17)
         4 => string '16010714223649.0Z' (length=17)
     18 => string 'dscorepropagationdata' (length=21)
     'count' => int 19
     'dn' => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)

Ususario - USUÁRIOS DO DOMÍNIO

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta, agora ele ta retornando os campos, a pesquisa ta errada ainda, acho que o $filter ta errado, da uma verificada,

 

 

mas tenta isso antes:

 


for ($i=0; $i < $info["count"]; $i++){
  for ($j=0;$j<=$info[$i]["count"];$j++){
     echo  $info[$i][$j].": ".$info[$i]["samaccountname"][$j]."\n";
  }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta, agora ele ta retornando os campos, a pesquisa ta errada ainda, acho que o $filter ta errado, da uma verificada,

 

 

mas tenta isso antes:

 


for ($i=0; $i < $info["count"]; $i++){
  for ($j=0;$j<=$info[$i]["count"];$j++){
     echo  $info[$i][$j].": ".$info[$i]["samaccountname"][$j]."\n";
  }
}

Boa tarde, como você disse esse filter deve esta errado, entrei no phpmanual e tentei passar outros valores para ele mas sem sucesso (retorno vazio),

 

testei os laços q você sugeriu, o primeiro valor do echo $info[$i][$j] esta emitindo retorno como "objectclass: " "cn: " ...etc,

porém na variavel $info[$i]"samaccountname"][$j] Só emite um valor na primeira linha "Usuários do domínio" nas outras esta mostrando a seguinte msg de erro

"Notice: Undefined offset: 1 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40"

 

se você tiver alguma sugestão para alteração do filter e puder compartilhar.

 

a seguir estou colocando o retorno com o código q você postou!

 


 'count' => int 1
 0 => 
   array
     'objectclass' => 
       array
         'count' => int 2
         0 => string 'top' (length=3)
         1 => string 'group' (length=5)
     0 => string 'objectclass' (length=11)
     'cn' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     1 => string 'cn' (length=2)
     'description' => 
       array
         'count' => int 1
         0 => string 'Todos os usuários do domínio' (length=28)
     2 => string 'description' (length=11)
     'distinguishedname' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)
     3 => string 'distinguishedname' (length=17)
     'instancetype' => 
       array
         'count' => int 1
         0 => string '4' (length=1)
     4 => string 'instancetype' (length=12)
     'whencreated' => 
       array
         'count' => int 1
         0 => string '20051004211108.0Z' (length=17)
     5 => string 'whencreated' (length=11)
     'whenchanged' => 
       array
         'count' => int 1
         0 => string '20090529161714.0Z' (length=17)
     6 => string 'whenchanged' (length=11)
     'usncreated' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     7 => string 'usncreated' (length=10)
     'memberof' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários,CN=Builtin,DC=exemplo,DC=local' (length=37)
     8 => string 'memberof' (length=8)
     'usnchanged' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     9 => string 'usnchanged' (length=10)
     'name' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     10 => string 'name' (length=4)
     'objectguid' => 
       array
         'count' => int 1
         0 => string 'ÂWÄÏÇE/sUh¹B&' (length=16)
     11 => string 'objectguid' (length=10)
     'objectsid' => 
       array
         'count' => int 1
         0 => string 'ßgÉë«÷½7
f' (length=28)
     12 => string 'objectsid' (length=9)
     'samaccountname' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     13 => string 'samaccountname' (length=14)
     'samaccounttype' => 
       array
         'count' => int 1
         0 => string '268435456' (length=9)
     14 => string 'samaccounttype' (length=14)
     'grouptype' => 
       array
         'count' => int 1
         0 => string '-2147483646' (length=11)
     15 => string 'grouptype' (length=9)
     'objectcategory' => 
       array
         'count' => int 1
         0 => string 'CN=Group,CN=Schema,CN=Configuration,DC=exemplo,DC=local' (length=50)
     16 => string 'objectcategory' (length=14)
     'iscriticalsystemobject' => 
       array
         'count' => int 1
         0 => string 'TRUE' (length=4)
     17 => string 'iscriticalsystemobject' (length=22)
     'dscorepropagationdata' => 
       array
         'count' => int 5
         0 => string '20090618211336.0Z' (length=17)
         1 => string '20090618205302.0Z' (length=17)
         2 => string '20090618204455.0Z' (length=17)
         3 => string '20090618203304.0Z' (length=17)
         4 => string '16010714223649.0Z' (length=17)
     18 => string 'dscorepropagationdata' (length=21)
     'count' => int 19
     'dn' => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)


( ! ) Notice: Undefined offset: 2 in C:\wamp\www\ConexaoAD\capturaAD.php on line 33
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
Ususario -
objectclass: Usuários do domínio
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
cn:
( ! ) Notice: Undefined offset: 2 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
description:
( ! ) Notice: Undefined offset: 3 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
distinguishedname:
( ! ) Notice: Undefined offset: 4 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
instancetype:
( ! ) Notice: Undefined offset: 5 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
whencreated:
( ! ) Notice: Undefined offset: 6 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
whenchanged:
( ! ) Notice: Undefined offset: 7 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
usncreated:
( ! ) Notice: Undefined offset: 8 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
memberof:
( ! ) Notice: Undefined offset: 9 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
usnchanged:
( ! ) Notice: Undefined offset: 10 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
name:
( ! ) Notice: Undefined offset: 11 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
objectguid:
( ! ) Notice: Undefined offset: 12 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
objectsid:
( ! ) Notice: Undefined offset: 13 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
samaccountname:
( ! ) Notice: Undefined offset: 14 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
samaccounttype:
( ! ) Notice: Undefined offset: 15 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
grouptype:
( ! ) Notice: Undefined offset: 16 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
objectcategory:
( ! ) Notice: Undefined offset: 17 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
iscriticalsystemobject:
( ! ) Notice: Undefined offset: 18 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
dscorepropagationdata:
( ! ) Notice: Undefined offset: 19 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined offset: 19 in C:\wamp\www\ConexaoAD\capturaAD.php on line 40
Call Stack
#	Time	Memory	Function	Location
1	0.0009	376696	{main}( )	..\capturaAD.php:0
: 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também tive problemas com o AD e por isso desenvolvi uma class (ainda beta), mas me ajuda muito, consegue buscar, atualizar, apagar, e inserir ( porém há problemas com as certificaçõs de algumas base do AD )

 

Primeiro ponto

 

$result = ldap_search($ldap_con, $personnel_base, "(uid=*)") or die ("Error in query");

 

(uid=*) vai estourar sua memória sempre, seja específico ao procurar o usuário no AD, procure sempre por samaccountname, no máximo, procure por uma uma "sequencia" de usuário.

 

 

$result = ldap_search($ldap_con, $personnel_base, "(|(samaccountname='.$usuario.'))") or die ("Error in query");

 

ou por sequencia, que vai procurar tudo que começar com:

$result = ldap_search($ldap_con, $personnel_base, "(|(samaccountname='.$usuario.'*))") or die ("Error in query");

 

Você pode buscar por qualquer tipo de campo do AD, porém, samaccountname é o nome de usúario, então, é sempre o mais indicado.

 

Para pegar os dados, funciona assim, você deve especificar o nome do campo, tais como:

 

$info['displayname'];            
$info['givenname'];
$info['sn'];
$info['description'];

Esses são só algumas keys do objeto retornado, não é necessário o [0] como mostra no var_dump

 

 

só para seu conhecimento, há um bug no ldap_bind. Essa função pode ser utilizada para autenticar um usuário no AD, ela retorna um boolean para a autenticação. Porém, se você colocar uma senha vazia.

$user = 'root';
$senha = '';

ldap_bing( $connect, $user.@dominio.com.br, $senha );

 

sempre vai retornar true, então nunca deixe autenticar com uma senha vazia.

 

Outro detalhe é que sempre necessita colocar o domínio para autenticar um usuário, senão ele não autentica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde então passei a informação no search ("(|(samaccountname=maria*))") e não retorno nenhum valor, voltei a colocar "(|(samaccountname=*))" e tive deversos retornos, porém ele não atribui os valores para as variaveis $info['displayname'],$info['givenname'] etc...,

 

bem eu vou postar o codigo novamente, bem não sei se estou errando nos cn ou dc's, bem se puderem me ajudar novamente.

 

$ldap_server = "xxx.xxx.xxx.xxx"; /*Usamos o nome do dominio ou o nome do Servidor do dominio Casa seja 1 servidor Apenas*/

// Usuario para autenticacao na Base LDAP
$auth_user = "exemplolocal\\cobaia"; /*nome Netbios\usuario*/
$auth_pass = "123456"; /*Senha do usuario do dominio*/

// Caminho LDAP do Dominio
$base_dn = "CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local";  /*Nome do Dominio completo + OU principal*/

// Caminho LDAP do Grupo para consulta

// Funcao para conectar na base LDAP e listas os usuarios de um grupo.

if (($connect = @ ldap_connect($ldap_server))) {

if (($bind = @ ldap_bind($connect, $auth_user, $auth_pass))) {

	if (($search = @ ldap_search($connect, $base_dn, "(|(sAMAccountName=*))")
		or die("Error in query"))) {
		$number_returned = ldap_count_entries($connect, $search);
		$info = ldap_get_entries($connect, $search);
		var_dump($number_returned);
		var_dump($info);

					$info['displayname'];
					$info['givenname'];
					$info['sn'];
					$info['description'];

		for ($i = 0; $i < $info["count"]; $i++) {

			$user_pure = $info["samaccountname"];
			$user_up = strtoupper($user_pure);
			echo "Ususario - $user_up<br>";
		}

		for ($i = 0; $i < $info["count"]; $i++) {
			for ($j = 0; $j <= $info[$i]["count"]; $j++) {
				echo $info[$i][$j] . ": " . $info[$i]["sAMAccountName"][$j] . "\n";
			}
		}

	} else {
		echo "deu problema na pesquisa";
	}
} else {
	echo "problema na autenticação";
}
} else {
echo "problema na conexão";
}

// Fecha a conexao LDAP.
ldap_close($connect);

 

agora o retorno do codigo

 

int 1

array
 'count' => int 1
 0 => 
   array
     'objectclass' => 
       array
         'count' => int 2
         0 => string 'top' (length=3)
         1 => string 'group' (length=5)
     0 => string 'objectclass' (length=11)
     'cn' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     1 => string 'cn' (length=2)
     'description' => 
       array
         'count' => int 1
         0 => string 'Todos os usuários do domínio' (length=28)
     2 => string 'description' (length=11)
     'distinguishedname' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)
     3 => string 'distinguishedname' (length=17)
     'instancetype' => 
       array
         'count' => int 1
         0 => string '4' (length=1)
     4 => string 'instancetype' (length=12)
     'whencreated' => 
       array
         'count' => int 1
         0 => string '20051004211108.0Z' (length=17)
     5 => string 'whencreated' (length=11)
     'whenchanged' => 
       array
         'count' => int 1
         0 => string '20090529161714.0Z' (length=17)
     6 => string 'whenchanged' (length=11)
     'usncreated' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     7 => string 'usncreated' (length=10)
     'memberof' => 
       array
         'count' => int 1
         0 => string 'CN=Usuários,CN=Builtin,DC=exemplo,DC=local' (length=37)
     8 => string 'memberof' (length=8)
     'usnchanged' => 
       array
         'count' => int 1
         0 => string '11988' (length=5)
     9 => string 'usnchanged' (length=10)
     'name' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     10 => string 'name' (length=4)
     'objectguid' => 
       array
         'count' => int 1
         0 => string 'ÂWÄÏÇE/sUh¹B&' (length=16)
     11 => string 'objectguid' (length=10)
     'objectsid' => 
       array
         'count' => int 1
         0 => string 'ßgÉë«÷½7
f' (length=28)
     12 => string 'objectsid' (length=9)
     'samaccountname' => 
       array
         'count' => int 1
         0 => string 'Usuários do domínio' (length=19)
     13 => string 'samaccountname' (length=14)
     'samaccounttype' => 
       array
         'count' => int 1
         0 => string '268435456' (length=9)
     14 => string 'samaccounttype' (length=14)
     'grouptype' => 
       array
         'count' => int 1
         0 => string '-2147483646' (length=11)
     15 => string 'grouptype' (length=9)
     'objectcategory' => 
       array
         'count' => int 1
         0 => string 'CN=Group,CN=Schema,CN=Configuration,DC=exemplo,DC=local' (length=50)
     16 => string 'objectcategory' (length=14)
     'iscriticalsystemobject' => 
       array
         'count' => int 1
         0 => string 'TRUE' (length=4)
     17 => string 'iscriticalsystemobject' (length=22)
     'dscorepropagationdata' => 
       array
         'count' => int 5
         0 => string '20090618211336.0Z' (length=17)
         1 => string '20090618205302.0Z' (length=17)
         2 => string '20090618204455.0Z' (length=17)
         3 => string '20090618203304.0Z' (length=17)
         4 => string '16010714223649.0Z' (length=17)
     18 => string 'dscorepropagationdata' (length=21)
     'count' => int 19
     'dn' => string 'CN=Usuários do domínio,CN=Users,DC=exemplo,DC=local' (length=46)


( ! ) Notice: Undefined index: displayname in C:\wamp\www\ConexaoAD\capturaAD.php on line 36
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined index: givenname in C:\wamp\www\ConexaoAD\capturaAD.php on line 37
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined index: sn in C:\wamp\www\ConexaoAD\capturaAD.php on line 38
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined index: description in C:\wamp\www\ConexaoAD\capturaAD.php on line 39
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined index: samaccountname in C:\wamp\www\ConexaoAD\capturaAD.php on line 43
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
Ususario -

( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
objectclass:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
cn:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
description:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
distinguishedname:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
instancetype:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
whencreated:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
whenchanged:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
usncreated:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
memberof:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
usnchanged:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
name:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
objectguid:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
objectsid:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
samaccountname:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
samaccounttype:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
grouptype:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
objectcategory:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
iscriticalsystemobject:
( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
dscorepropagationdata:
( ! ) Notice: Undefined offset: 19 in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0

( ! ) Notice: Undefined index: sAMAccountName in C:\wamp\www\ConexaoAD\capturaAD.php on line 50
Call Stack
#	Time	Memory	Function	Location
1	0.0011	378896	{main}( )	..\capturaAD.php:0
: 

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO

 

Bem a principio o problema estava no dn e a permissão de leitura do usuario para conexão

 

a seguir o código

 

$ldap_server = "xxx.xxx.xxx.xxx";
if (($connect = @ ldap_connect($ldap_server))) {

if (($bind = @ ldap_bind($connect, '1010@aena.int', '123456'))) {

	if (($search = @ ldap_search($connect, "ou=locais,dc=exemplo,dc=local", "sAMAccountName=".$usuario*) or die("Error in query"))) {
		$number_returned = ldap_count_entries($connect, $search);
		$info = ldap_get_entries($connect, $search);
		var_dump($number_returned);
		var_dump($info);
		$i = 0;

		echo $info[$i]['displayname'][$i];
		echo "<br>" . $info[$i]['givenname'][$i];
		echo "<br>" . $info[$i]['sn'][$i];
		echo "<br>" . $info[$i]['description'][$i];


	} else {
		echo "deu problema na pesquisa";
	}
} else {
	echo "problema na autenticação";
}
} else {
echo "problema na conexão";
}

// Fecha a conexao LDAP.
ldap_close($connect);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.