public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException {
final User user = userDao.load(username);
if (user == null) {
throw new UsernameNotFoundException("User " + username + " not found.");
}
return new UserDetailsImpl(user);
}