What im thinking:
When an advisor logs in for the first time, we check the "Advisor" table and see if their JHED (is this reliable?) exists in that table.
If it doesn't exist, we assume they aren't an advisor for any students who have imported their SIS data (what if a student imports their SIS data after the advisor already has an account?).
If it does exist, a student has them as an advisor - so a social auth User and Student object is created for the advisor and it is somehow indicated in that object that they are an advisor (maybe a boolean is_advisor in the Student model?).
Anyway, when it comes to rendering the advising dashboard - we need to check whether the user and an advisor or not. If they are an advisor, their dashboard will be slightly different (we will need to conditionally render components based on some is_advisor boolean in the frontend i believe).
Anyway - those are my initial thoughts.