Get taxonomy term field from where is attached
You can implement hook_views_query_alter()


In your view create a filter (not exposed) to field_category_user, with default value -1. If field_category_user is not aviable you need create a realation to taxonomy. 
Create a hook_views_query_alter() in file [module_name].views_execution.inc with some like this:

// Implements hook_views_query_alter().

function [module_name]_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
$id = $view-&gt;id();

switch ($id) {
    case '[your_view_id]':
        $user = \Drupal\user\Entity\User::load(\Drupal::currentUser()-&gt;id());
        $field_category_user = !$user-&gt;field_category_user-&gt;isEmpty() ? $user-&gt;field_category_user-&gt;value : null;

        if(!$field_category_user){
            return;
        }

        //Set field_category_user id to where condition
        foreach ($query-&gt;where as $key =&gt; $item) {
            foreach($item['conditions'] as $items){
                if ($items['field'] == 'field_category_user') { //Verify if field_category_user is the id of filter
                    $query-&gt;where[$key]['conditions'][0]['value'] = $field_category_user-&gt;id();
                }
            }
        }
    break;
}}