Views module: How to limit access by user
Try the Views Access Callback module.


  Provides callback-based access control for Views.
  
  Available callback functions are defined by modules using hook_views_access_callbacks() function (in the same way as in hook_perm()), then could be set in the view's "Access restrictions" configuration.