2012-08-10 41 views
6

Uno puede utilizarconjunto Programatically connectionString para ActiveDirectoryMembershipProvider

new PrincipalContext(ContextType.Domain,null) 

sin proporcionar cadenas de conexión para el Directorio Activo.

Al usar ActiveDirectoryMembershipProvider debe proporcionar un punto final LDAP en web.config.

El sitio en el que estoy trabajando se implementará en varios sitios y no quiero tener que completar los datos en el web.config para cada aplicación.

How To: Use Forms Authentication with Active Directory in Multiple Domains en MSDN especifica 3 (!) Proveedores de membresía para tratar con 3 dominios que no es impresionante. Sin embargo, este artículo es de 2005 y se trata de tareas diferentes, entonces lo que busco.

La pregunta:

Es posible utilizar ActiveDirectoryMembershipProvider de manera que el punto final LDAP no está codificado en el web.config?

yo preferiría usar ActiveDirectoryMembershipProvider en lugar de tener PrincipalContext (potencialmente) la posibilidad de llamar ChangePassword etc.

Respuesta

0

No, no es posible utilizar ActiveDirectoryMembershipProvider sin especificar un servidor LDAP objetivo.

La cadena de conexión se debe especificar, y la cadena debe contener un servidor (contiene ADS_FORMAT_SERVER)

Debe crear un elemento connectionStrings (Esquema de configuración de ASP.NET) entrada en el archivo Web.config que identifica el servidor de Active Directory, el dominio de Active Directory o la partición de la aplicación ADAM que se utilizará. El proveedor solo operará en el ámbito de dominio, o en un subespacio dentro de un dominio.

Si desea admitir un bosque de directorio activo, y la pérdida de autenticación de formularios es una opción, considere usar Autenticación de Windows. La Autenticación de Windows utilizará NTLM y Kerberos para obtener la identidad del usuario dentro de un bosque, y aún puede cambiar la contraseña de un usuario mediante suplantación. Ver WindowsIdentity.Impersonate().

Cuestiones relacionadas