package com.asolutions.scmsshd.authenticators; import javax.naming.NamingException; import org.apache.sshd.server.session.ServerSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.asolutions.scmsshd.ldap.LDAPBindingProvider; public class LDAPAuthenticator implements IPasswordAuthenticator { protected final Logger log = LoggerFactory.getLogger(getClass()); private LDAPBindingProvider provider; private LDAPUsernameResolver resolver; public LDAPAuthenticator(LDAPUsernameResolver resolver, LDAPBindingProvider ldapBinding) { this.resolver = resolver; provider = ldapBinding; } public Object authenticate(String username, String password, ServerSession session) { try { String nameInNamespace = resolver.resolveUserName(username); return this.provider.getBinding(nameInNamespace, password); } catch (NamingException e) { log.error("Error Authenticating", e); return null; } } }