Sto eseguendo una pagina ASP.Net su IIS7 e lo sviluppo in VS 2008. Attualmente, l'autenticazione dell'utente viene eseguita tramite una connessione LDAP. Una volta che l'utente effettua l'accesso, in una pagina ha un modulo con alcune informazioni di base (come nome, indirizzo e-mail, paese e simili) e desidero pre-compilare alcuni di questi campi da informazioni già memorizzate nel LDAP. In particolare il nome e gli indirizzi e-mail indicati. La domanda è, usando C#, come posso effettivamente recuperare queste informazioni?Come recuperare informazioni a livello di programmazione da LDAP
6
A
risposta
8
Sembra che tu sia su .Net 3.5 SP1, in tal caso è possibile utilizzare lo spazio dei nomi System.DirectoryServices.AccountManagement che notevolmente semplifica questo.
Ecco un esempio:
var pc = new PrincipalContext(ContextType.Domain, "mydomaincontroller");
var u = UserPrincipal.FindByIdentity(pn, userName);
var email = u.EmailAddress;
var name = u.DisplayName;
Here's a full list of properties si può afferrare.
Problemi correlati
- 1. Android: ottenere informazioni sull'hardware a livello di programmazione
- 2. c'è comunque da recuperare a livello di programmazione nella console di sviluppo di Google Play?
- 3. Come ottenere a livello di programmazione le informazioni visualizzate da Quick Info in Visual Studio
- 4. Come recuperare tutto ed eseguire le dimensioni dell'applicazione, l'utilizzo della CPU a livello di programmazione?
- 5. Il più semplice codice Ivy per recuperare la dipendenza da Maven Central a livello di programmazione
- 6. Come distinguere Xsun da Xorg, a livello di programmazione?
- 7. Come aggiungere un'immagine da visualizzare a livello di programmazione?
- 8. Come disabilitare SparkUI a livello di programmazione?
- 9. Come utilizzare AcroTextExtractor.exe a livello di programmazione?
- 10. Ionico come tornare a livello di programmazione
- 11. , verificare a livello di programmazione
- 12. Come nascondere UITabBarController a livello di programmazione?
- 13. come inviare sms a livello di programmazione?
- 14. Come impostare windowDrawsSystemBarBackgrounds a livello di programmazione?
- 15. Come configurare ELMAH a livello di programmazione?
- 16. Come attivare "Installato" a livello di programmazione?
- 17. Come programmare un'attività a livello di programmazione
- 18. Come aprire selezionare a livello di programmazione
- 19. C# crea report a livello di programmazione
- 20. Come posso avviare la schermata delle informazioni dell'applicazione Android a livello di programmazione?
- 21. Elenco di parole gratuito da utilizzare a livello di programmazione?
- 22. Come ottenere informazioni a livello di programmazione sui rami in TFS?
- 23. Come creare un modulo di Windows a livello di programmazione?
- 24. Aggiungere informazioni sul certificato del server a Trust Manager Android a livello di programmazione
- 25. Come ottenere a livello di programmazione il livello audio corrente?
- 26. Come ottenere gruppi da LDAP a django
- 27. Come recuperare Java informazioni vendor
- 28. Invia SMS da iPhone a livello di programmazione
- 29. Forza postback completo a livello di programmazione da UpdatePanel
- 30. Creazione di UIWebView a livello di programmazione
Grazie, una piccola domanda però. Non sono sicuro di cosa usare per la stringa per cui hai usato "mydomaincontroller". L'autenticazione ldap è stata eseguita utilizzando ActiveDirectoryMembershipProvider in Web.Config. Presumibilmente, dovrei fornire l'URL LDAP purché un nome utente e una password. Quando/Dove/Come è fatto? –
@Jacob - Normalmente mi collego a una varietà di controller di dominio ... puoi anche solo fare 'var pc = new PrincipalContext (ContextType.Domain);' per afferrare qualsiasi scelta di windows controller del controller o ... in alternativa, puoi fare 'var pc = new PrincipalContext (ContextType.Domain," my.server.com "," user "," pass ");' Ecco un elenco completo di opzioni: http://msdn.microsoft.com/en-us/ library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx –
Grazie, questo sembra essere proprio quello che volevo! –