[TYPO3-UG Italy] accesso ldap o compliant
Francesco Pessina
typo3news at yahoo.it
Wed Sep 27 14:50:32 CEST 2006
Ciao a tutti,
Scusate la latitanza ma ho dovuto fare modifiche radicali al mio web e cio' mi ha rubato molto tempo...
Il problema dell' "unable to bind the server" e' un problema tipico che non sempre riguarda la
estensione eu_ldap ma PHP con LDAP. Quindi consiglierei i seguenti passi:
1) verificare che il firewall di 2003 apra la porta 389 in ingresso, che non ci siano limitazioni su
tale ambito e che, se presente e configurato, l'SCW non blocchi il servizio LDAP dal punto di vista
network
2) provare con del codice PHP semplice semplice a fare una interrogazione sul proprio LDAP se la
comunicazione LDAP<->PHP funzia o meno; a fine messaggio vi allego un test di ldap in PHP che uso
abitualmente quando ho problemi :-)
3) io ho avuto difficolta' con eu_ldap nel caso di autenticazione nella forma
nome.dominio\nome.utente; ho cambiato la modalita' in nome.utente at nome.dominio e tutto funzia alla
grande.
4) anche se in tedesco, consiglio la "lettura" di questo tutorial rilasciato dallo stesso autore che
ha fatto l'estensione (le figure e le indicazioni degli step sono cumunque comprensibili):
http://www.entios.de/uploads/media/t3n_01_ldap.pdf
Per il resto concordo anch'io, l'uso dei filtri e' l'ultima cosa da implementare, prima verificare
che si abbia il dialogo PHP<->LDAP.
Saluti, Francesco
===================== Salvare in LDAP.php ============================
<?php
// ritorna l'elenco degli utenti AD con alcune loro info.
$ldap_host="xxx.xxx.xxx.xxx"; // l'IP del server AD, non scomodiamo il DNS locale..
$ldap_user="nome.utente at nome.dominio"; // utente di AD con diritto di lettura (users)
$ldap_pass="password_utente"; // la password di "nome.utente"
$ldap_base="DC=nome,DC=dominio"; // corrisponde a "nome.dominio"
$ldap_filter="(&(objectClass=user)(objectCategory=person)(samaccountname=*))";
$ldap_object=array('displayname','mail','givenname','cn');
echo "<h3>LDAP query test</h3>";
echo "Connecting to ".$ldap_host."...";
$ldap_conn=ldap_connect($ldap_host) or die("Could not connect to LDAP server.");
echo "connect result is [" . $ldap_conn . "]<br />";
if ($ldap_conn) {
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Using LDAPv3<br />";
} else {
echo "Failed to set protocol version to 3<br />";
}
echo "Binding ...";
$ldap_bind=ldap_bind($ldap_conn,$ldap_user, $ldap_pass); // this is an "anonymous" bind, typically
echo "Bind result is [" . $ldap_bind ."]. ";
if ($ldap_bind) {
echo "LDAP bind successful...<br />";
echo "Searching for [".$ldap_filter."] ...<br />";
$ldap_result=ldap_search($ldap_conn, $ldap_base, $ldap_filter);
echo "Search result is [" . $ldap_result . "]<br />";
echo "Number of entires returned is [" . ldap_count_entries($ldap_conn, $ldap_result) . "].<br />";
$info = ldap_get_entries($ldap_conn, $ldap_result);
echo "Data for [" . $info["count"] . "] items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
print_r($info[$i]);
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first group entry is: " . $info[$i]["ou"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
} else {
echo "LDAP bind failed...<br />";
}
echo "Closing connection";
ldap_close($ldap_conn);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
======================================================================
Mauro Lorenzutti ha scritto:
>> francamente non sono esperto di queste cose, avete da suggerirmi un filtro
>> basato solo sull'account? per eseguire un prova!
>
> In rete puoi trovare un sacco di tutorial su LDAP, per iniziare puoi
> dare un'occhiata a:
> http://www.microsoft.com/italy/technet/prodtechnol/exchange/2003/insider/ldapquery.mspx
>
> Saluti,
> Mauro Lorenzutti
>
>
> e-mail: mauro.lorenzutti at webformat.com
>
> ---------------------------------------------------------
> WEBFORMAT srl | Corte Europa, 12 | I-33097 SPILIMBERGO PN
> Tel +39-0427-926.389 -- Fax +39-0427-927.653
> info at webformat.com -- www.webformat.com
> ---------------------------------------------------------
>
More information about the TYPO3-UG-italy
mailing list