This happens a lot of the time with custom resources and I cannot figure out why. Custom permissions return wrong value with `currentUser` but returns correct value when loading user by uid. `$this->currentUser` is valid and the correct account. What's the issue/cause and resolution? Example: **Wrong value:** ``` $hasViewPermission = $this->currentUser->hasPermission( sprintf('view %s categories', $termGroup) ); // false ``` **Correct value** ``` $user = User::load(\Drupal::currentUser()->id()); $hasViewPermission = $user->hasPermission( sprintf('view %s categories', $termGroup) ); // true ``` **Role config** ``` permissions: ... - 'view EDITORIAL categories' ``` Edit: added demo of `currentUser` initialisation ``` protected $currentUser; public function __construct( array $configuration, $plugin_id, $plugin_definition, array $serializer_formats, LoggerInterface $logger, AccountProxyInterface $current_user, Request $current_request ) { parent::__construct($configuration, $plugin_id, $plugin_definition, $serializer_formats, $logger); $this->currentUser = $current_user; $this->currentRequest = $current_request; } public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->getParameter('serializer.formats'), $container->get('logger.factory')->get('custom_rest'), $container->get('current_user'), $container->get('request_stack')->getCurrentRequest() ); } ```