Ich versuche herauszufinden, die Vor- und Nachteile der Verwendung von SessionID-basierte Authentifizierung vs Cookie-basierte Authentifizierung
Soweit ich in der Cookie-basierten Authentifizierung sehen kann
Bei sitzungsbasierter Authentifizierung
Fragen
Gibt es irgendeinen Grund, einen vor dem anderen zu bevorzugen? Ist das Cookie weniger sicher (selbst wenn Sie es verschlüsseln und signieren)? Ist die Leistung der Sitzung schlechter, da sie bei jedem Anruf auf die Datenbank trifft? Ich habe mehrere Seiten gesehen, die sich in die eine oder andere Richtung lehnten, aber ich konnte mir kein klares Bild davon machen, welchen Ansatz ich verwenden sollte. Alle Diskussionen / Vorschläge würden sehr geschätzt werden.
Es fällt mir schwer, diese Frage zu verdauen. Nach meinem Wissen gibt es die formularbasierte Authentifizierung in zwei Varianten: Cookies und ohne Cookies. Cookie-basierte Authentifizierung ist bevorzugt.
In der cookie-basierten Version erhält der Benutzer eine Cookie, deren Wert ein verschlüsseltes Forms Authentication Ticket ist. Der Cookie ist auf dem Server verschlüsselt. Sofern der Verschlüsselungsschlüssel nicht von machine.config freigegeben oder in Web.config überschrieben wird, kann der Cookie nur von dem Server entschlüsselt werden, der ihn ausgegeben hat. Ich glaube, dass die Verschlüsselung AES ist, die sehr sicher ist.
Beim cookielosen Ansatz wird die Nutzlast des Cookies mithilfe eines HTTP-Moduls in die URL eingefügt. Dieser Ansatz wird nur verwendet, wenn das Gerät keine Cookies unterstützt (selten). Der cookielose Ansatz wird nicht bevorzugt - er macht AJAX schwieriger.
Siehe:
und
Tags und Links language-agnostic session authentication forms-authentication