FYI:
I have made progress with various authentication mechanisms, including LDAP with Spring-ws and acegi. It is a bit more than just replacing daoAuthenticationProvider with LdapAuthenticationProvider since Dao... uses a userDetailsService whereas ldap doesn't and has a more complicated config.
The xml for both is included below.
I'm testing authentication from .Net to Spring-ws with
hashed password to memory, hashed to jdbc,
plaintext to memory, plaintext to jdbc and plaintext to ldap.
I'm still trying to see if I can find a way to get hashed to ldap to work, but since the password is used for the ldap bind this approach is different than the comparision of the entered password and the stored password of the other approaches.
Just thought I'd follow up on this thread since the previous entry indicated that ldap integration should be possible - and it is.
Code:
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
<property name="providers">
<bean class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="userDetailsService"/>
</bean>
</property>
</bean>
<bean id="ldapAuthProvider" class="springSupport.LdapAuthenticationProvider" >
<constructor-arg>
<bean class="springSupport.BindAuthenticator">
<constructor-arg><ref local="initialDirContextFactory" /></constructor-arg>
<property name="userSearch" ref="userSearch" />
</bean>
</constructor-arg>
<constructor-arg index="1">
<bean class="org.acegisecurity.providers.ldap.populator.DefaultLdapAuthoritiesPopulator">
<constructor-arg index="0"><ref local="initialDirContextFactory" /></constructor-arg>
<constructor-arg index="1"><value>OU=Security Groups,OU=myDomain,DC=mytest,DC=com</value></constructor-arg>
<property name="convertToUpperCase">
<value>true</value>
</property>
<property name="rolePrefix">
<value></value>
</property>
<property name="searchSubtree">
<value>true</value>
</property>
<property name="groupSearchFilter">
<value>member={0}</value>
</property>
<property name="groupRoleAttribute">
<value>cn</value>
</property>
</bean>
</constructor-arg>
</bean>