The Best Practice to set page permission for different users can be done like below:
- Create a new role if required else use the existing roles
- Set organization permission for the role
- Identify the pages to permit for the role and create/modify the new/existing Menu with selected pages
- Assign the menu to the role
- Assign the required roles to the users
- If required set functional permission for the pages (incase required to set No access to a page which is the menu OR to set Full access to a page which is not a direct menu page)
- Login with that user and make sure only the mapped menu related pages are listed for the login user