AuthService - ValidateSelfOrAdmin

É um controle de acesso para determinar se um usuário pode ou não acessar um pedido.

@Service 
public class AuthService {

	@Autowired
	private UserService userService;

	public void validateSelfOrAdmin(long userId) {
		User me = userService.authenticated();
		if (!me.hasRole("ROLE_ADMIN") && !me.getId().equals(userId)) {
			throw new ForbiddenException("Access denied");
		}
}

Deixando o método mais testável

Vamos tirar esse If e melhorar o código.

Atualizado