How to filter a view according to nodes permissions
The correct answer is actually here.


  It seems that a better way to control node access is through hook_node_access_records and hook_node_grants as described here http://drupal.org/node/1260948. This works with views properly.