node access not taken in account in views
For doing access control on views, i used the hook_views_post_execute.

For nodes with a restricted_content field set to true, the content is shown or not depending on roles

 function my module_views_post_execute(ViewExecutable $view)
 {
$VIP_member=false;
$user=\Drupal::currentUser();
$userRole=$user-&gt;getAccount()-&gt;getRoles();

if (( $user!=null )&amp;&amp;(in_array('VIP_member',$userRole))){
    $VIP_member=true;
}

if ($view-&gt;id() == 'articles_list') {
    foreach ($view-&gt;result as  $elementKey =&gt; $result ) {
        $node=$result-&gt;_entity;        

        $VIP_restricted=$node-&gt;field_VIP_only-&gt;getValue();

        // Remove node if no rights
        if (($VIP_restricted[0]['value'] == true) &amp;&amp; ($VIP_member==false) ){
              unset($view-&gt;result[$elementKey]);
        }
    }
}
 }