Es gibt zwei Möglichkeiten, die eindeutige ID, mit der der Client einem Sitzungszustand zugeordnet wird, im Sitzungszustand zu speichern: durch Speichern eines HTTP-Cookies auf dem Client oder durch Codieren der Sitzungs-ID in der URL. Das Speichern der Sitzungs-ID im Cookie bietet größere Sicherheit, erfordert jedoch, dass der Clientbrowser Cookies unterstützt.
Für Anwendungen, die wie eine Vielzahl mobiler Geräte Clients ohne Cookieunterstützung zulassen, kann die Sitzungs-ID im URL gespeichert werden. Das Speichern im URL hat mehrere Nachteile. Es erfordert, dass die Links auf der Site relativ sind und dass die Seite zu Beginn der Sitzung mit neuen Abfragezeichenfolgenwerten umgeleitet wird. Außerdem wird die Sitzungs-ID direkt in der Abfragezeichenfolge verfügbar gemacht, wo sie für Sicherheitsangriffe kopiert werden kann.
Sie sollten den Modus ohne Cookies nur verwenden, wenn Sie Clients unterstützen müssen, die über keine Cookieunterstützung verfügen.
Der Sitzungszustand unterstützt auch zwei weitere Optionen: UseDeviceProfile und AutoDetect. Mithilfe der ersten Option kann das Sitzungszustandsmodul bestimmen, welcher Modus (mit Cookies oder ohne Cookies) pro Client je nach Browserfunktionen verwendet wird. Mit der Option AutoDetect erfolgt ein Handshake mit dem Browser, um zu überprüfen,ob ein Cookie gespeichert werden kann. Um dies zu ermitteln, ist eine zusätzliche Anforderung erforderlich. Wenn Sie Clients ohne Cookies unterstützen müssen, sollten Sie UseDeviceProfile zum Generieren von URLs ohne Cookies nur für Clients verwenden, die sie benötigen.
Hinweis |
|---|
Mit UP.Browser 4.1 oder UP.Browser 3.2 verhält sich Redirect immer, als wäre der Wert der SupportsRedirectWithCookie-Eigenschaft des HttpBrowserCapabilities-Objekts false. Dies ist allerdings nur der Fall, wenn die Cookieless-Eigenschaft im SessionState-Abschnitt von Web.config nicht explizit auf true festgelegt wurde. In ASP.NET Version 1.1 lauteten die Optionen für diese Einstellung true oder false, in ASP.NET 2.0 wurde die Auswahl jedoch erweitert. AutoDetect ist nun die Standardeinstellung. Wenn in Ihrer Webanwendung die Cookieless-Eigenschaft auf einen booleschen Wert festgelegt ist, sollte Redirect bei diesen Browsern erwartungsgemäß funktionieren. |