private UserDTO getUserByName(String userName) throws UserRetrievalException { Authentication authenticator = new Authentication() { @Override public Collection<? extends GrantedAuthority> getAuthorities() { List<GrantedAuthority> auths = new ArrayList<GrantedAuthority>(); auths.add(new GrantedPermission("ROLE_USER_AUTHENTICATOR")); return auths; } @Override public Object getCredentials() { return null; } @Override public Object getDetails() { return null; } @Override public Object getPrincipal() { return null; } @Override public boolean isAuthenticated() { return true; } @Override public void setAuthenticated(boolean arg0) throws IllegalArgumentException {} @Override public String getName() { return "AUTHENTICATOR"; } }; SecurityContextHolder.getContext().setAuthentication(authenticator); UserDTO user = userManager.getByName(userName); SecurityContextHolder.getContext().setAuthentication(null); return user; }