Κατανόηση του δελτίου ελέγχου ταυτότητας φορμών και για τα cookies


Στήλη φωνητική υποστήριξη ASP.NET


Κατανόηση του δελτίου ελέγχου ταυτότητας φορμών και για τα cookies

Για να προσαρμόσετε αυτήν τη στήλη με τις ανάγκες σας, θέλετε να προσκαλέσετε να υποβάλετε τις ιδέες σας σχετικά με θέματα που ενδιαφέρουν μπορείτε και θέματα για τα οποία θέλετε να δείτε απευθύνονται στο μέλλον, άρθρα Γνωσιακής βάσης και φωνητική υποστήριξη στήλες. Μπορείτε να υποβάλετε σας ιδέες και τα σχόλιά σας μέσω της φόρμας Σας ρωτήσει για αυτό . Υπάρχει επίσης μια σύνδεση για τη φόρμα στο κάτω μέρος αυτής της στήλης.

Εισαγωγή

Καλώς ορίσατε στη στήλη φωνής υποστήριξης του Microsoft ASP.NET. Είμαι Nilay β. Shah με την ομάδα υποστήριξης προγραμματιστή του ASP.NET. Έχω εργαστεί με υποστήριξη ASP.NET για περισσότερο από μιάμιση έτη. Ο έλεγχος ταυτότητας φορμών είναι στην πραγματικότητα μια δυνατότητα δροσερό έλεγχο ταυτότητας. Αυτό το άρθρο περιγράφει ορισμένα ζητήματα τα οποία οι χρήστες έχουν βρεθεί σύγχυση με έλεγχο ταυτότητας φορμών, όπως η σχέση του δελτίου ελέγχου ταυτότητας φορμών και φόρμες cookie ελέγχου ταυτότητας και τις σχετικές ρυθμίσεις. Θα ήθελα να ευχαριστήσετε Jerry Orman, τεχνική καθοδήγηση για την ομάδα υποστήριξης του ASP.NET, για την απίστευτη Βοήθεια!

Αναρωτηθείτε μερικές φορές άτομα σχετικά με τον έλεγχο ταυτότητας φορμών "εισιτήρια" και "cookies" επειδή σχετίζονται στενά. Που κατέληξαν σε ερωτήσεις όπως αυτά: οποιοσδήποτε μπορεί να εξηγεί τη διαφορά μεταξύ της λήξης του cookie και τη λήξη του εισιτηρίου; Όταν λήξει το cookie, ο χρήστης θα ανακατευθυνθείτε στη σελίδα σύνδεσης. Τι συμβαίνει όταν λήξει το εισιτήριο; Θα το κάνει επίσης το cookie λήγουν; Τι SlidingUpdate στην πραγματικότητα ενημέρωση;

Που θα εστιαστεί σε αυτές τις δύο πλευρές του ελέγχου ταυτότητας φορμών σε αυτό το άρθρο για να απαντήσετε στις παρακάτω ερωτήσεις:
  • Τι είναι το δελτίο ελέγχου ταυτότητας φορμών και φόρμες cookie ελέγχου ταυτότητας; Πώς σχετίζονται αυτά;
  • Τι είναι ο ρόλος του δελτίου ελέγχου ταυτότητας φορμών;
  • Πώς σχετίζονται λήξη cookie και λήξη εισιτηρίου;
  • Πώς δεν ολίσθησης λήξης εργασίας στο περιβάλλον του δελτίου ελέγχου ταυτότητας φορμών και φόρμες cookie ελέγχου ταυτότητας;
  • Όπου μπορεί να οριστεί η ιδιότητα χρονικού ορίου του cookie ελέγχου ταυτότητας φορμών και φόρμες δελτίου ελέγχου ταυτότητας;
  • Το σενάριο το θέμα: Ο έλεγχος ταυτότητας φορμών ενδέχεται να λήξει το χρονικό όριο πριν από την τιμή του χαρακτηριστικού χρονικού ορίου που έχει οριστεί στο αρχείο ρύθμισης παραμέτρων

Τι είναι το δελτίο ελέγχου ταυτότητας φορμών και φόρμες cookie ελέγχου ταυτότητας; Πώς σχετίζονται αυτά;

Φόρμες cookie ελέγχου ταυτότητας είναι τίποτα άλλο εκτός από το κοντέινερ για φόρμες δελτίο ελέγχου ταυτότητας. Το εισιτήριο μεταβιβάζεται ως η τιμή του cookie ελέγχου ταυτότητας φορμών με κάθε αίτηση και χρησιμοποιείται από τον έλεγχο ταυτότητας φορμών, στο διακομιστή, για να εντοπίσετε έναν εξουσιοδοτημένο χρήστη.

Ωστόσο, εάν εμείς Διαλέγουμε να χρησιμοποιήσετε φόρμες χωρίς έλεγχο ταυτότητας, το εισιτήριο θα μεταβιβαστούν στη διεύθυνση URL σε κρυπτογραφημένη μορφή. Ο έλεγχος ταυτότητας φορμών χωρίς χρησιμοποιείται επειδή μερικές φορές τα προγράμματα περιήγησης-πελάτες αποκλείει τα cookies. Αυτή η δυνατότητα έχει εισαχθεί στο Microsoft .NET Framework 2.0.

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:

Τι είναι ο ρόλος του δελτίου ελέγχου ταυτότητας φορμών;

Το δελτίο ελέγχου ταυτότητας φορμών χρησιμοποιείται για να καταλάβετε το ASP.NET εφαρμογή ποιοι είστε. Έτσι, το εισιτήριο είναι μπλοκ δόμησης φόρμες ελέγχου ταυτότητας ασφαλείας.

Το εισιτήριο είναι κρυπτογραφημένα και υπογεγραμμένα χρησιμοποιώντας το στοιχείο ρύθμισης παραμέτρων < machineKey > του αρχείου Machine.config στο διακομιστή. Το ASP.NET 2.0 χρησιμοποιεί το decryptionKey και το νέο χαρακτηριστικό αποκρυπτογράφησης του στοιχείου < machineKey > για να κρυπτογραφήσετε δελτία ελέγχου ταυτότητας φορμών. Το χαρακτηριστικό αποκρυπτογράφησης σάς επιτρέπει να καθορίσετε τον αλγόριθμο κρυπτογράφησης που θα χρησιμοποιηθεί. ASP.NET 1.1 και 1.0 χρησιμοποιούν κρυπτογράφηση 3DES, που δεν είναι δυνατό να ρυθμιστούν. Αλλοίωση με το εισιτήριο τιμή καθορίζεται από μια αποτυχία για την αποκρυπτογράφηση του εισιτηρίου στο διακομιστή. Ως αποτέλεσμα, ο χρήστης θα ανακατευθυνθείτε στη σελίδα σύνδεσης.


Εάν η εφαρμογή θα αναπτυχθεί στο σύμπλεγμα διακομιστών Web, πρέπει να βεβαιωθείτε ότι τα αρχεία ρύθμισης παραμέτρων σε κάθε διακομιστή μοιράζονται την ίδια τιμή για τα χαρακτηριστικά validationKey και decryptionKey στην ετικέτα < machineKey > , που χρησιμοποιούνται κατακερματισμού και την αποκρυπτογράφηση του εισιτηρίου αντίστοιχα. Πρέπει να το κάνετε επειδή δεν μπορεί να εγγυηθεί την διακομιστή από τον οποίο θα χειριστεί διαδοχικές αιτήσεις. Για περισσότερες πληροφορίες σχετικά με την κρυπτογράφηση FormsAuthenticationTicket και θέματα ανάπτυξης σύμπλεγμα Web, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:Μπορείτε να βρείτε μια Περίπατος μέσω των μεθόδων για τη μη αυτόματη δημιουργία κλειδιών στα ακόλουθα άρθρα της Γνωσιακής Βάσης της Microsoft:
312906 Τρόπος δημιουργίας κλειδιών χρησιμοποιώντας το Visual C# .NET για χρήση του ελέγχου ταυτότητας φορμών

313091 Τρόπος δημιουργίας κλειδιών με χρήση της Visual Basic .NET για χρήση του ελέγχου ταυτότητας φορμών

Δελτία ελέγχου ταυτότητας φορμών μπορούν να δημιουργηθούν με μη αυτόματο τρόπο χρησιμοποιώντας την κλάση FormsAuthenticationTicket . Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:

Πώς σχετίζονται λήξη cookie και λήξη εισιτηρίου;

Σε περίπτωση μη μόνιμο cookie, εάν το εισιτήριο έχει λήξει, cookie θα λήξει επίσης και ο χρήστης θα ανακατευθυνθείτε στη σελίδα σύνδεσης. Από την άλλη πλευρά, εάν το εισιτήριο έχει επισημανθεί ως μόνιμη, όπου είναι αποθηκευμένο το cookie στο κουτί του υπολογιστή-πελάτη, τα προγράμματα περιήγησης να χρησιμοποιήσετε το ίδιο cookie ελέγχου ταυτότητας για να συνδεθείτε με την τοποθεσία Web οποιαδήποτε στιγμή. Ωστόσο, μπορεί να χρησιμοποιούμε τη μέθοδο FormsAuthentication.SignOut για να διαγράψετε μόνιμα ή τη μη μόνιμων cookies ρητά.

Για περισσότερες πληροφορίες σχετικά με τη μέθοδο FormsAuthentication.SignOut , επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:Με φόρμες χωρίς έλεγχο ταυτότητας, εάν το πρόγραμμα περιήγησης είναι κλειστό, το εισιτήριο έχει χαθεί και θα δημιουργηθεί ένα νέο δελτίο στην επόμενη αίτηση.

Πώς δεν ολίσθησης λήξης εργασίας στο περιβάλλον του δελτίου ελέγχου ταυτότητας φορμών και φόρμες cookie ελέγχου ταυτότητας;

Κλιμακωτή λήξη λειτουργεί ακριβώς με τον ίδιο τρόπο!

Πείτε μας λαμβάνει ένα παράδειγμα: Εάν η σελίδα σύνδεσης γίνεται πρόσβαση στις 5:00 00:00:00 μμ, αυτό θα πρέπει να λήξει στις 5:10 00:00:00 μμ εάν το χαρακτηριστικό χρονικού ορίου είναι 10 και το χαρακτηριστικό slidingExpiration έχει οριστεί στην τιμή TRUE. Τώρα, εάν γίνεται περιήγηση σε οποιαδήποτε ιστοσελίδα ξανά στις 5:05 00:00:00 μμ, τα cookies και χρονικού ορίου δελτίου θα γίνει επαναφορά 5:15 00:00:00 μμ.

Σημείωση Εάν η ιστοσελίδα γίνεται πριν από τα μισά από τη λήξη του χρονικού διαστήματος, δεν θα γίνει επαναφορά του χρόνου λήξης του εισιτηρίου. Παράδειγμα πρώτου πλάνου, εάν οποιαδήποτε ιστοσελίδα γίνεται ξανά στις 5:04 00:00:00 μμ, τα cookies και χρονικού ορίου δελτίου δεν θα επαναφερθεί.

Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:

Όπου μπορεί να οριστεί η τιμή χρονικού ορίου του cookie ελέγχου ταυτότητας φορμών και φόρμες δελτίου ελέγχου ταυτότητας;

Είναι η μόνη ρύθμιση που μπορείτε να κάνετε στο αρχείο Web.config ή στο αρχείο Machine.config, στην ετικέτα < φόρμες > . Αυτή η αλλαγή θα προσδιορίσει την περίοδο χρονικού ορίου ελέγχου ταυτότητας φορμών στο περιβάλλον ενός εισιτηρίου ή cookie, εκτός εάν το εισιτήριο δημιουργείται με μη αυτόματο τρόπο.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:Εάν το εισιτήριο δημιουργείται με μη αυτόματο τρόπο χρησιμοποιώντας την κλάση FormsAuthenticationTicket , το χρονικό όριο μπορεί να ρυθμιστεί μέσω του χαρακτηριστικού λήξης . Η τιμή αυτή θα αντικαταστήσει την τιμή του χαρακτηριστικού χρονικού ορίου που καθορίζεται στα αρχεία παραμέτρων.

Για περισσότερες πληροφορίες σχετικά με τα μέλη FormsAuthenticationTicket , επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:

Το σενάριο το θέμα: Ο έλεγχος ταυτότητας φορμών ενδέχεται να λήξει το χρονικό όριο πριν από την τιμή του χαρακτηριστικού χρονικού ορίου που έχει οριστεί στο αρχείο ρύθμισης παραμέτρων

Αν το δελτίο ελέγχου ταυτότητας φορμών δημιουργείται με μη αυτόματο τρόπο, η ιδιότητα του χρονικού ορίου του εισιτηρίου θα αντικαταστήσει την τιμή που έχει οριστεί στο αρχείο παραμέτρων. Επομένως, εάν η τιμή είναι μικρότερη από την τιμή στο αρχείο ρύθμισης παραμέτρων, οι φόρμες δελτίο ελέγχου ταυτότητας θα λήξει πριν από τη ρύθμιση παραμέτρων του αρχείου χρονικού ορίου χαρακτηριστικού τιμή και το αντίστροφο. Για παράδειγμα, ας υποθέσουμε ότι το χαρακτηριστικόχρονικού ορίου < φόρμες >ορίζεται σε 30 στο αρχείο Web.config και έχει οριστεί η τιμή λήξης του εισιτηρίου για 20 λεπτά. Στην περίπτωση αυτή, το δελτίο ελέγχου ταυτότητας φορμών θα λήγουν μετά από 20 λεπτά και ο χρήστης θα πρέπει να συνδεθείτε ξανά μετά από αυτό.

Σχετικές συνδέσεις

910439 αντιμετώπιση προβλημάτων ελέγχου ταυτότητας φορμών

891032 αντιμετώπιση προβλημάτων ASP.NET

301240 Τρόπος υλοποίησης του ελέγχου ταυτότητας που βασίζεται σε φόρμες της εφαρμογής ASP.NET χρησιμοποιώντας C# .NET

308157 Τρόπος υλοποίησης του ελέγχου ταυτότητας που βασίζεται σε φόρμες της εφαρμογής ASP.NET χρησιμοποιώντας τη Visual Basic .NET

Ελπίζω να βρείτε αυτές τις πληροφορίες χρήσιμες στη διευκόλυνση της ορισμένα από τα εμπλεκόμενα με δελτίο ελέγχου ταυτότητας φορμών ASP.NET και cookie σύγχυση. Θυμηθείτε ότι οι στήλες φωνητική υποστήριξη είναι για εσάς! Όπως πάντα, αίσθηση ελεύθερη να υποβάλουν ιδέες σχετικά με θέματα που θέλετε στο μέλλον απευθύνεται στήλες ή η χρήση της Γνωσιακής Βάσης της
Ερώτηση για την φόρμα.