ActionMessages appWarnings = form.validate(mapping, request);
saveAppWarnings(request, appWarnings);
String username = (String) PropertyUtils.getSimpleProperty(form, "username");
String password = (String) PropertyUtils.getSimpleProperty(form, "password");
ActionMessages appErrors = new ActionMessages();
try {
SecurityService service = new SecurityService();
service.authenticate( username, password);
}
catch (PasswordMatchException e) {
appErrors.add("password", new ActionMessage("error.password.match"));
}
saveAppErrors(request, appErrors);
if (!appWarnings.isEmpty() || !appErrors.isEmpty()) {
return mapping.getInputForward();
}
User user = new User();
user.setUsername(username);
request.getSession().setAttribute("user", user);
ActionMessages messages = new ActionMessages();
ActionMessage message = new ActionMessage("message.login.success", username);
messages.add(ActionMessages.GLOBAL_MESSAGE, message);
if (!messages.isEmpty()) {
saveMessages( request.getSession(true), messages );
}
return mapping.findForward("success");