HOW TO:
In your mySQL database in the ofproperty table update the name-value pairs to the following:
provider.user.className = org.jivesoft.openfire.user.HybridUserProvider
provider.auth.className = org.jivesoft.openfire.user.HybridAuthProvider
Add the following name-value pairs in the table:
hybridAuthProvider.primaryProvider.className = org.jivesoft.openfire.ldap.LdapAuthProvider
hybridAuthProvider.secondaryProvider.className = org.jivesoft.openfire.auth.DefaultAuthProvider
In the openfile.xml add the following xml snippet:
<hybridUserProvider><primaryProvider><className>org.jivesoft.openfire.ldap.LdapUserProvider</className></primaryProvider></hybridUserProvider>
<hybridUserProvider><secondaryProvider><className>org.jivesoft.openfire.user.DefaultUserProvider</className></secondaryProvider></hybridUserProvider>
I am not sure if the HybridUserProvider class was updated in the 3.6.0a version to look for the properties in the database yet. If it has been then add the following rows in the ofproperty table:
hybridUserProvider.primaryProvider.className = org.jivesoft.openfire.ldap.LdapUserProvider
hybridUserProvider.secondaryProvider.className = org.jivesoft.openfire.auth.DefaultUserProvider
Hope this helps!
Note: due to has SASL authentication works, the hybrid auth provider will only work with plain authentication. This is because digest auth resorts to external flow of control with a getPassword() call, which would prevent the three step approach from working.