public boolean validate(@Nullable LoginForm form, HttpServletRequest request, HttpServletResponse response) {
if (form == null) {
log.debug("Passed null form, can't authenticate");
return false;
}
Authentication requested = new UsernamePasswordAuthenticationToken(form.getUserName(), form.getPassword());
try {
Authentication result = authenticationManager.authenticate(requested);
SecurityContextHolder.getContext().setAuthentication(result);
audienceManagerService.login(result.getName());
rememberMeServices.loginSuccess(request, response, result);
log.trace("Successfully authenticated. Security context contains: {}", SecurityContextHolder.getContext().getAuthentication());
return true;
} catch (AuthenticationException e) {
log.debug("Authentication failed with {}", requested, e);
rememberMeServices.loginFail(request, response);
return false;
}
}