Use permission infrastructure
Use the infrastructure provided for checking whether the given user has access to a permission, site, depot, shipment, notification, and so on. These are provided as LINQ extension methods on the underlying collections.
For example:
Sites.DataSource = _linq.Site.ForUser(CurrentSession.UserID);