View Full Version : [c#] Help scaricare dati da LDAP su una tabella
Ciao a tutti ho bisogno di un aiuto come posso fare a scaricare dei dati da LDAP e poterli copiare su una tabella???
Io vorrei creare un bacth che (ogni tot) si collega a LDAP e prenda dei dati che vorrei scrivere su una tabella, questo per poter DARE acceso a degli utenti di LDAP su un programma che ho fatto.
Grazie a tutti in anticipo:D
ciao
puoi utilizzare DirectoryEntry (http://msdn.microsoft.com/it-it/library/system.directoryservices.directoryentry%28VS.80%29.aspx) per connetterti ad un server ldap specificando indirizzo(formato "ldap://nomeserver/nomedomain")
un po' di pseudo codice
string dirEntry = tuo ldap formato "LDAP://LDAPServerName/LDAPDomain"
DirectoryEntry LDAPRoot = New DirectoryEntry(dirEntry, LDAPUsername, LDAPPassword)
//eventualmente setti il tipo di autenticazione a tuo piacimento
LDAPRoot.AuthenticationType = AuthenticationTypes.ReadonlyServer
dopodichè potresti creare un oggetto DirectorySearcher (http://msdn.microsoft.com/it-it/library/system.directoryservices.directorysearcher%28VS.80%29.aspx)con filtro nullo e ciclare sul risultato
DirectorySearcher LDAPSearcher = New DirectorySearcher(LDAPRoot)
SearchResultCollection UsersCollection = LDAPSearcher.FindAll
dovrebbe essere tutto :)
wow grazie ora provo a farlo,
per ora stavo provando a fare un .bat ho trovato questo che piu o meno sembra fare al caso mio
in pratica alla fine vorrei creare un batch che mi prenda dei dati da ldap e li scriva in un file....
<?php
// Sequenza base di connessione LDAP, ricerca e lettura
// e di chiusura connessione
echo "<h3>LDAP query test</h3>";
echo "Connessione ...";
$ds=ldap_connect("indicepa.gov.it");
echo "codice di ritorno:" . $ds . "";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // accesso anonimo in sola lettura
echo "Codice di ritorno del Bind: " . $r . "";
echo "Ricerca ...";
$sr=ldap_search($ds, "c=it", "o=c_*");
echo "Risultato ricerca: " . $sr . "";
echo "Numero di elementi letti: " . ldap_count_entries($ds, $sr) . "";
echo "Recupero elementi ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Dati per " . $info["count"] . " elementi letti:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "ADsPath: " . $info[$i]["ADsPath"] . "";
echo "dn is: " . $info[$i]["dn"] . "";
echo "first cn entry is: " . $info[$i]["cn"][0] . "";
echo "first desription entry is: " . $info[$i]["description"][0] . "";
echo "second desription entry is: " . $info[$i]["description"][1] . "";
echo "first email entry is: " . $info[$i]["mail"][0] . "<hr />";
}
echo "Chiusura connessione";
ldap_close($ds);
} else {
echo "<h4>Impossibile connettersi al server LDAP</h4>";
}
?>
GRAZIE MILLE
ah ok: avevo visto la tag [c#] e son partito in quarta a scrivere la soluzione .net :p
astorcas
02-07-2010, 15:36
wow grazie ora provo a farlo,
per ora stavo provando a fare un .bat ho trovato questo che piu o meno sembra fare al caso mio
in pratica alla fine vorrei creare un batch che mi prenda dei dati da ldap e li scriva in un file....
<?php
// Sequenza base di connessione LDAP, ricerca e lettura
// e di chiusura connessione
echo "<h3>LDAP query test</h3>";
echo "Connessione ...";
$ds=ldap_connect("indicepa.gov.it");
echo "codice di ritorno:" . $ds . "";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // accesso anonimo in sola lettura
echo "Codice di ritorno del Bind: " . $r . "";
echo "Ricerca ...";
$sr=ldap_search($ds, "c=it", "o=c_*");
echo "Risultato ricerca: " . $sr . "";
echo "Numero di elementi letti: " . ldap_count_entries($ds, $sr) . "";
echo "Recupero elementi ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Dati per " . $info["count"] . " elementi letti:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "ADsPath: " . $info[$i]["ADsPath"] . "";
echo "dn is: " . $info[$i]["dn"] . "";
echo "first cn entry is: " . $info[$i]["cn"][0] . "";
echo "first desription entry is: " . $info[$i]["description"][0] . "";
echo "second desription entry is: " . $info[$i]["description"][1] . "";
echo "first email entry is: " . $info[$i]["mail"][0] . "<hr />";
}
echo "Chiusura connessione";
ldap_close($ds);
} else {
echo "<h4>Impossibile connettersi al server LDAP</h4>";
}
?>
GRAZIE MILLE
Scusa ma come può esserti utile uno script in PHP se devi fare un .bat?
questo era un esempio su cui stavo riflettendo..
no hai ragione e propio in c# che sto cercando di farlo, ma sembra ben piu difficile di quel che pensavo.
Kralizek
05-07-2010, 09:17
ma i primi due risultati della ricerca su google ".net ldap list users (http://www.google.com/#hl=en&safe=off&q=.net+ldap+list+users&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=c401d881a5ff002f)" non vanno bene?
ma i primi due risultati della ricerca su google ".net ldap list users (http://www.google.com/#hl=en&safe=off&q=.net+ldap+list+users&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=c401d881a5ff002f)" non vanno bene?
ecco perche vi adoro:D
ora mi leggo tutto e comunque come sempre grazie :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.