Exemplo n.º 1
0
        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))); //και εμφανίζουμε τα μαθήματα που διδάσκει ο συγκεκριμένος καθηγητής
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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 ή ο κωδικός πρόσβασής σας είναι λάθος. Ελέγξτε τα στοιχεία εισόδου." }));
        }