What's the best infrastructure to set permissions to user roles that controls who can see which Nodes and which Views?
I was able to accomplish this using Permissions By Term (https://www.drupal.org/project/permissions_by_term). After I installed, I completed the following steps:


define member/student/guest roles in People > Roles
define Taxonomy structure (I named the vocabulary 'Page View Permissions')
In order to apply these permissions to Basic Pages, edit the Content Type of Basic Page to add section to set the permissions when creating a Basic Page. (Create new Entity Reference field.) Set default to Public.