protected void authenticate(RequestContext context, Credentials credentials)
throws CredentialsDeniedException, IdentityException, SQLException {
getLogger().finer("Authenticating user...");
IdentityAdapter idAdapter = context.newIdentityAdapter();
User user = context.getUser();
user.reset();
user.setCredentials(credentials);
try {
idAdapter.authenticate(user);
} catch(CredentialsDeniedException e) {
if (credentials instanceof UsernamePasswordCredentials) {