Fix indent
Use the generic intention is more compatible
Fix injection of bindUsernameBefore
Return UsernamePasswordToken instead of LdapToken
Inject the daoProvider to use the chain provider
Refact for the chain provider
Fix indent