LdapTemplate is part of Spring LDAP. This means if you use LdapTemplate, then you are using Spring LDAP. If you are meaning SpringSecurityLdapTemplate, then that is part of Spring Security which extends Spring LDAP. Which one you use depends on what you actually need.
I don't think you would have the need to write your own implementation of LdapTemplate, but yes you would be able to use your own UserDao. I would probably try to start off with Spring Security's LDAP Authentication and extend where necessary.



