Momentaneamente ho risolto scrivendo nel code behind questo codice di ricerca del campo da me
interessato:
Qui dove vengono inizializzate le variabili che mi servono per la ricerca:
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + userName + ")";
search.PropertiesToLoad.Add("cn");
Qui eseguo la ricerca:
foreach (SearchResult resEnt in search.FindAll())
{
try
{
DirectoryEntry de = resEnt.GetDirectoryEntry();
matricola = de.Properties["Description"].Value.ToString();
}
catch (Exception ex)
{
}
}
In questo modo trovo il campo "Descrizione", ma cercando in tutti i campi dell'user, che si è autenticato, all'interno dell'AD.
Siccome a me serve solo quel campo, come faccio ad arrivarci senza usare il "findAll()" e quindi evitare il foreach?