2008-11-27 17 views
9

Tengo un requisito de proyecto donde necesito autenticarme contra ActiveDirectory en una aplicación WPF remota/desconectada.Autenticar y GetRoles de usuarios de ActiveDirectory en una aplicación WPF desconectada a través de MembershipProvider

Probablemente haya varias formas de intentar hacer esto, pero ¿cuál sería el mejor enfoque utilizando el MembershipProvider de ActiveDirectory?

necesito:

  1. autenticar que el usuario existe.
  2. obtener los grupos y roles del usuario AD.

Esto debe suceder desde una ubicación remota, fuera de la red donde reside Active Directory.

Respuesta

15

Desde dentro de una aplicación WinForms o WPF, ahora puede aprovechar "Client Application Services" (gracias a MS por un nombre muy genérico, buscar ayuda ahora es muy doloroso).

Esto le permite conectarse a un servicio WCF que puede validar los inicios de sesión. El enlace de arriba tiene un tutorial que muestra lo fácil que es ponerlo todo en funcionamiento, una vez que tiene una aplicación en funcionamiento, puede modificar su configuración para que apunte a un MembershipProvider y/o RoleProvider diferente.

Vale la pena señalar que la solución lista para usar incluye un MembershipProvider llamado ActiveDirectoryMembershipProvider, pero no hay ningún RoleProvider para Active Directory.

Si necesita la posibilidad de obtener Roles (o Grupos) y está trabajando con .NET 4.0, entonces puede aprovechar la nueva API de Active Directory agregada que hace todo mucho más fácil, es decir, System.DirectoryServices.AccountManagement. Para el más básico de Afiliación y Servicios de función que usted quiere tener la siguiente para crear su propia MembershipProvider básica y RoleProvider:

Puede implementar tanto o tan poco de la API como sea necesario, debe encontrar todo lo que necesita en el nuevo espacio de nombres AccountManagement para hacerlo.

Cuestiones relacionadas