Estoy ejecutando una página ASP.Net en IIS7, y desarrollándome en VS 2008. Actualmente, tengo autenticación de usuario que se realiza a través de una conexión LDAP. Una vez que el usuario inicia sesión, en una página tienen un formulario con información básica sobre ellos (como su nombre, dirección de correo electrónico, país y similares) y deseo completar previamente algunos de estos campos a partir de información ya almacenada en el LDAP. En particular, su nombre de pila y dirección de correo electrónico. La pregunta es, usando C#, ¿cómo recupero esta información?Cómo recuperar información de forma programática desde LDAP
6
A
Respuesta
8
Suena como si estuvieras en .Net 3.5 SP1, en ese caso puedes usar el espacio de nombres System.DirectoryServices.AccountManagement que en gran medida simplifica esto.
He aquí una muestra:
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 se puede agarrar.
Cuestiones relacionadas
- 1. Cómo recuperar todos los grupos desde LDAP con Perl
- 2. Acceso LDAP desde dmz falla:: no se pudo recuperar la información sobre el dominio (1355)
- 3. ¿Cómo se leen las listas de SharePoint de forma programática?
- 4. Recuperar información de la versión desde archivos de gran tamaño
- 5. cómo recuperar información de la fila eliminada
- 6. ¿Cómo puedo recuperar la información del monitor?
- 7. ¿Cómo administro los archivos de registro WCF de forma programática?
- 8. Cómo recuperar información de usuario de un Grupo de seguridad de Active Directory usando LDAP y PHP
- 9. ¿Cómo mover de forma programática la ubicación de los iconos desde el escritorio de Windows?
- 10. Autenticando al usuario usando LDAP desde PHP
- 11. agregue id de forma programática a R.id
- 12. Creación de programas de radio de forma programática
- 13. LDAP - ¿Recuperar una lista de todos los atributos/valores?
- 14. ¿Cómo acceder a los datos del portapapeles de forma programática?
- 15. ¿Cómo encontrar tablas heredadas de forma programática en PostgreSQL?
- 16. ¿Cómo rechazar una llamada entrante de forma programática en android?
- 17. Android view layout_width - cómo cambiar de forma programática?
- 18. ¿Recuperar información múltiple por un solo número?
- 19. Conexión a LDAP desde C# usando DirectoryServices
- 20. Active Directory: Recuperar información del usuario
- 21. ¿Puedo determinar requisitos de interfaz/dependencias/herencia de forma programática?
- 22. Recuperar método Información de una función F #
- 23. Mejores prácticas de LDAP
- 24. Python: ¿Cómo recuperar información de clase de un objeto 'frame'?
- 25. Cómo recuperar desde el Repositorio SVN
- 26. Cómo recuperar información EXIF de una imagen en Rails
- 27. Ir a la pantalla de inicio de forma programática
- 28. ¿Determinando de forma programática la causa de IOException?
- 29. dojo - forma programática para mostrar el mensaje no válido
- 30. ¿Cómo recuperar información útil del sistema en Java?
Gracias, una pequeña pregunta sin embargo. No estoy seguro sobre qué usar para la cadena que ha usado 'mydomaincontroller' para. La autenticación ldap se ha realizado utilizando ActiveDirectoryMembershipProvider en Web.Config. Presumiblemente tendré que proporcionar la URL de LDAP siempre que tenga un nombre de usuario y una contraseña. ¿Cuándo/dónde/cómo se hace esto? –
@Jacob: normalmente me conecto a una variedad de controladores de dominio ... también puedes hacer 'var pc = new PrincipalContext (ContextType.Domain);' para obtener las ventanas de cualquier controlador de dominio que elijas o ... alternativamente, puedes hacer 'var pc = new PrincipalContext (ContextType.Domain," my.server.com "," user "," pass ");' Aquí hay una lista completa de opciones: http://msdn.microsoft.com/en-us/ library/system.directoryservices.accountmanagement.principalcontext.principalcontext.aspx –
Gracias, esto parece ser justo lo que quería! –