generalizza i messaggi di errore, nel senso ritorna solo "username o password errati", altrimenti un attaccante sa che ha beccato un username valido e deve solo beccare la password... "solo" ovviamente, però lo aiuti così...