Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Minha duvida...
no topico http://forum.imasters.com.br/index.php...220&hl=LDAP, temos 2 codigos...
os dois tem o mesmo objetivo. Pessoal mais experiente com PHP, poderia me auxiliar qual diferença entre os dois ?
me parece que um tenta utilizar objetos nativos do PHP e o outro depende de DLL, estou correto ?
estou tentando entender melhor o protocolo LDAP, e nessa pesquisa me deparei com essas 2 maneiras de utiliza-lo...
e no caso do topico ae do nosso amigo, uma maneira funcionou e a outra não, pq ?
como funciona essa configuração no servidor ?
como funciona o Fluxo ? PHP>APACHE>LDAP>AD, seria isso ? Mas se o AD esta em um servidor windows como funciona essa comunicação LINUX LDAP WINDOWS AD ?
são muitas as duvidas rs
echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("IP_SERVIDOR"); // must be a valid LDAP server!
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
echo "connect result is " . $ds . "<br />";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds, "DOMÍNIO\USUÁRIO", "SENHA"); // this is an "anonymous" bind, typically
// read-only access
echo "Bind result is " . $r . "<br />";
echo "Searching for (sn=S*) ...";
// Search surname entry
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
<?php
/Função que retorna o setor do usuário/
function verificaSetor($usuario, $senha){
$Conn = New COM("ADODB.Connection");
$RS = New COM("ADODB.Recordset");
$Conn->Provider = "ADsDSOObject";
$Conn->Properties['User ID'] = $usuario . "@dominio.com.br";
$Conn->Properties['Password'] = $senha;
$strConn = "IP_SERVIDOR_AD";
$Conn->Open($strConn);
$strRS = "Select AdsPath from 'LDAP://DC=dominio,DC=com,DC=br' where SAMAccountName='$usuario'";
$RS->Open($strRS, $Conn, 1, 1);
// No meu caso, eu precisei dividir a String $RS['AdsPath'], pois, o valor desejado estava quase no meio da String
// Se eu Fizesse um echo($RS['AdsPath']); teria a seguinte mensagem impressa:
//LDAP://CN=Nome Completo Do Usuário,OU=Usuarios Padrao C,OU=Usuarios,OU=SETOR,OU=Setor Superior,OU=SEDE,DC=dominio,DC=com,DC=br
$str = split(",",$RS['AdsPath']);
$setor = split("=",$str[3]);
$RS->Close;
$Conn->Close;
return($setor[1]);
}
?>
Vlw
Carregando comentários...