private Set<UserPermissionDTO> getUserPermissions(UserDTO user) { 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); Set<UserPermissionDTO> permissions = userManager.getGrantedPermissionsForUser(user); SecurityContextHolder.getContext().setAuthentication(null); return permissions; }