since ldap uses a context bind for valid authentication checking, we override login()
if credentials are not available from the users context or if we are forcing the binding check
then we try a binding authentication check, otherwise if we have the users encoded password then
we can try authentication via that mechanic