Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Σύνδεση-αποσύνδεση χρήστη

Îåêßíçóå áðü ôï ìÝëïò deykas. Τελευταία δημοσίευση από το μέλος deykas στις 02-05-2006, 18:16. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-05-2006, 11:24 12251

    Σύνδεση-αποσύνδεση χρήστη

    Καταρχήν καλό μήνα σε όλους. Δεν βρήκα κάτι σχετικό στο forum και αναγκαστικά πρέπει να θέσω το ερώτημα:

    Έχω έναν πίνακα Users για τα στοιχεία των χρηστών της εφαρμογής. Μπορεί κάποιος να μου προτείνει έναν τρόπο να γνωρίζω πότε ένας χρήστης έκανε last login (έχω login form), αλλά (το σπουδαιότερο) και πως μπορώ να καταλάβω ότι ένας χρήστης έχει κάνει Log out ή έχει κλείσει τον explorer και μαζί φυσικά και την εφαρμογή.

    Ευχαριστώ.

     

  •  02-05-2006, 12:29 12252 σε απάντηση της 12251

    Απ: Σύνδεση-αποσύνδεση χρήστη

    Καλό σου μήνα.

    Για το πρώτο ερώτημα, αν θες να γνωρίζεις ΜΟΝΟ πότε έκανε last login, τότε αρκεί να συμπεριλάβεις ένα ακόμα πεδίο στον πίνακά σου και όποτε κάνει login να το κάνεις update με την τρέχουσα ημερομηνία και ώρα. Τον κώδικα αυτό μπορείς να τον τοποθετήσεις αμέσως μετά το επιτυχημένο authentication του χρήστη. Αν βέβαια θες πλήρες logging (ιστορικό) τότε προφανώς χρειάζεσαι επιπλέον πίνακα.

    Για το δεύτερο ερώτημα, όντως τα πράγματα είναι πιο σύνθετα. Αν ο χρήστης κάνει log out τότε είναι εύκολο να γράψεις λίγο κώδικα που να ενημερώνει yet another πεδίο στον πίνακα Users (το οποίο παρεπιμπτόντως θα πρέπει να τίθεται NULL σε κάθε επιτυχημένο login). Πως πιάνεις όμως την περίπτωση που θα κλείσει ο Explorer; Ε, δεν την πιάνεις :). Αυτό που μπορείς να κάνεις είναι όταν κλείνει το Session (οπότε ανάλογα με τη λογική της εφαρμογής σου θα γίνεται αυτομάτως logoff) να κάνεις εκεί την καταγραφή του logout (αν θες να το πας μακριά μπορείς και να έχεις ένα flag στη βάση για το αν έκανε κανονικό Log Out ή απλά τέλειωσε το session). Για να πιάσεις το κλείσιμο του Session χρησιμοποίησε το Global.asax και συγκεκριμένα το event Session_End.

    Τα έγραψα λίγο βιαστικά, αλλά αν θες διευκρινήσεις εδώ είμαστε...
    Στερνή μου γνώση να σε είχα πρώτα...
  •  02-05-2006, 13:14 12253 σε απάντηση της 12251

    Απ: Σύνδεση-αποσύνδεση χρήστη

    Και φυσικά, το OnSession_End δουλεύει μόνο αν το state management είναι InProc, σωστά;
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  02-05-2006, 18:16 12263 σε απάντηση της 12253

    Απ: Σύνδεση-αποσύνδεση χρήστη

    Ευχαριστώ. Βρήκα την άκρη μάλλον και με το session_end. Αν ξαναχρειαστώ κάτι επανέρχομαι...

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems