n° 185
Maggio/Giugno 2013
Maggio 22, 2013, 02:35:05 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Active Directory Come accedere ai campi utente  (Letto 3294 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Davide
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3


Mostra profilo
« inserita:: Giugno 18, 2009, 11:35:16 pm »

Salve a tutti mi chiamo Davide e mi sono appena iscritto.
Ho cominciato lo stage per l'università in una società che usa l'Active Directory, come "strumenti" uso ASP .NET e c# con Visual Studio 2008, sono riuscito a fare l'autenticazione dell'utente (per le prove del software me stesso), ma non so come accedere ai campi delle mie proprietà.
Mi spiego con un esempio, al mio tutor d'azienda ho fatto scrivere nella voce "descrizione" nelle proprieta dell'utente dell'active directory qualcosa che non so come recuperare tramite pagine aspx/aspx.cs.
Ho provato a cercare sul web, ma tutti i tutorial e codici che ho trovato si riferivano solo all'autenticazione.
Ho letto com'è organizzato un Active Directory e come sono le query LDAP, ma non riesco ad andarcene in fine.
Quello che chiedo è se potete farmi vedere del codice che, per esempio, acceda a quel campo "descrizione".
Registrato
Davide
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3


Mostra profilo
« Risposta #1 inserita:: Giugno 22, 2009, 11:47:33 am »

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:
Codice:
                Object obj = entry.NativeObject;
                DirectorySearcher search = new DirectorySearcher(entry);
                search.Filter = "(SAMAccountName=" + userName + ")";
                search.PropertiesToLoad.Add("cn");


Qui eseguo la ricerca:
Codice:
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?
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page