public async Task <ActionResult> MySubjectsProfessor() { //παίρνουμε τα στοιχεία του χρήστη που συνδέθηκε var userManager = new UnipiUsersManager(new CustomUserStore(db)); var userId = User.Identity.GetUserId <int>(); var user = await userManager.FindByIdAsync(userId); string professor = user.Name + " " + user.Surname; return(View(db.Subjects.Where(t => t.professorTeaching == professor))); //και εμφανίζουμε τα μαθήματα που διδάσκει ο συγκεκριμένος καθηγητής }
public async Task <ActionResult> CreateNewSubjectProfessor(string message) { //παίρνουμε τα στοιχεία του χρήστη που συνδέθηκε var userManager = new UnipiUsersManager(new CustomUserStore(new UnipiLabsDbContext())); var userId = User.Identity.GetUserId <int>(); var user = await userManager.FindByIdAsync(userId); ViewData["professor"] = user.Name + " " + user.Surname; //UserName του συνδεδεμένου καθηγητή το οποίο μπαίνει αυτόματα στο πλαίσιο του διδάσκοντα //και δεν μπορεί να επεξεργαστεί από τον χρήστη ViewBag.Message = message; return(View()); }
public async Task <ActionResult> Login(Users user) { //χρησιμοποιώντας το AspNet.Identity της Microsoft, ελέγχεται στη βάση δεδομένων εάν υπάρχει ο χρήστης και αν το ΑΜ΄και ο κωδικός ταιριάζουν var userManager = new UnipiUsersManager(new CustomUserStore(new UnipiLabsDbContext())); var signinmanager = new UsersSignInManager(userManager, AuthenticationManager); var loginresult = await signinmanager.PasswordSignInAsync(user.UserName, user.Password, true, false); //εάν η σύνδεση είναι επιτυχής, αποθηκευουμε τον χρήστη που συνδέθηκε και μεταφερόμαστε στην παρακάτω μέθοδο που ελέγχουμε την ιδίότητά του για να ανακατευθυνθεί στη σωστή σελίδα if (loginresult == SignInStatus.Success) { var userId = signinmanager.AuthenticationManager.AuthenticationResponseGrant.Identity.GetUserId <int>(); var loggedInUser = await userManager.FindByIdAsync(userId); return(redirectLoggedInUser(loggedInUser)); } //εάν τα στοιχεία είναι λάθος, ο χρήστης ανακατευθύνεται στην Index για να προσπαθήσει να κάνει login ξανά, λαμβάνοτας αντίστοιχο μήνυμα λάθους μέσω javascript alert return(RedirectToAction("Index", "Home", new { message = "Το AM ή ο κωδικός πρόσβασής σας είναι λάθος. Ελέγξτε τα στοιχεία εισόδου." })); }