#705 - Enumerare gli utenti in Active Directory
Sempre più spesso gli utenti in Active Directory vengono utilizzati come sistema per l'autenticazione nell'ambito di applicazioni web, specie intranet.
Attraverso questo semplice script è possibile enumerare tutti gli utenti presenti in un particolare dominio (nello specifico, bochicchio.local) sfruttando un utente ad hoc per le interrogazioni.
using System.DirectoryServices;
private string[] GetUsers()
{
ArrayList users = new ArrayList;
// percorso AD, username e password per interrogare
string path = "LDAP://server2003/DC=bochicchio,DC=local";
string localUsername = "ADwebuser";
string localPassword = "adTest";
// effettuo una ricerca in ActiveDirectory
DirectorySearcher search = new DirectorySearcher(new DirectoryEntry(path, localUsername, localPassword));
search.Filter = "(&(objectclass=user)(objectCategory=person))"; // solo persone
// proprietà richieste
search.PropertiesToLoad.Add("samaccountname");
search.CacheResults = true;
search.SizeLimit = 1000; // massimo 1000 utenti
// cerco gli utenti
SearchResultCollection results = search.FindAll();
foreach(SearchResult result in results)
{
// aggiugno lo username alla collezione
users.Add(result.Properties["samaccountname"][0].ToString());
}
search.Dispose();
// restituisco un array di stringhe
return (string[])users.ToArray(typeof(String);
}Il codice restituisce un array di stringhe ed è l'ideale per costruire facilmente una lista degli utenti che appartengono ad un dominio.
Approfondimenti
- ListView è DataPager
- #921 - Specificare un tipo custom come valore di un parametro di selezione dell'ObjectDataSource
- Realizzare un custom extender AJAX con ASP.NET 3.5
- #926 - Autenticazione con Membership API e selezione del dominio per Active Directory
- Speciale Custom Control per ASP.NET
- #904 - L'uso dell'attributo TemplateInstance con ITemplate nei custom control
- Nuovi corsi su ASP.NET 3.5 e LINQ a catalogo
- Galleria fotografica dinamica con ASP.NET AJAX
- Il DataSet nel web è il male
- #13 - Invocare il PostBack di un controllo ASP.NET da Silverlight
- Realizzare applicazioni ASP.NET sicure - Seconda parte
- #939 - Un ExpressionBuilder di ASP.NET per recuperare le immagini all'interno del tema corrente
Commenti
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
dueggi scrive:
#705 - Enumerare gli utenti in Active Directory
Ovviamente l'utente "ADwebuser" deve essere un membro del dominio. E se questi è un utente di dominio che non può fare login (es. di servizio)?Grazie.
Ovviamente l'utente "ADwebuser" deve essere un membro del dominio. E se questi è un utente di dominio che non può fare login (es. di servizio)?Grazie.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
Questo codice è uno script che gira sotto ASP.NET giusto?Ma per far girare una robbe del genere non devo farla partire server side? Io non riesco a ...
Continua »»» | Rispondi »»»