Was ist die beste Abhilfe für die Authentifizierung Timeout ASP.NET-Formulare, wenn Wildcard Mapping?

StackOverflow https://stackoverflow.com/questions/57739

Frage

Mein Team auf einer beschissenen alten Website funktioniert und die meisten Seiten sind noch ASP-Klassiker. Allerdings haben wir vor kurzem auf die Formularauthentifizierung migriert ASP.NET und Wildcard-Mapping verwendet wird. Alles funktioniert überraschend gut mit einer Ausnahme: Angemeldete Benutzer sind Timing zu schnell aus. Nach einem Blick in den Protokollen erscheint es Menschen sind Zeit aus genau nach 20 Minuten (die das angegebene Timeout aufgrund von Inaktivität ist).

So ist unsere Hypothese, dass die klassischen ASP-Seiten Auslösung nicht unabhängig Mechanismus in der Formularauthentifizierung Rahmen, der die Inaktivität Timer zurücksetzt. Ich habe um gegoogelt und auch den Wildcard-Mapping-Beitrag von der Großen Gu lesen, aber immer noch nicht, dass jemand anderen finden kann, die dieses Problem haben. So, 1) Haben Sie schon einmal dieses Problem gesehen? und 2) Was ist die beste Abhilfe? (Außer manuell einen versteckten Frame in jeder janky ASP-Seite platzieren, die eine dumme .NET Seite im Hintergrund lädt)

Aktualisieren : slidingExpiration auf true

Auch : Wir können nicht ewige Sitzungen verwenden, weil wir die Anwendung auf einer Auszeit nach 20 Minuten Inaktivität müssen. Außerdem wurde diese schreckliche Website geschrieben, so dass die Schnittstelle in der Regel auf der Seite gespeichert wird. Es gibt kein einfaches Stück Interface-Code ich die JavaScript in rutschen könnte. Wir haben versucht, einige js in einer Include-Datei zu setzen, die um etwa 80% unserer Seiten genannt wurde, aber es hat einige esoterische Probleme mit Datei-Download-Puffer verursacht, so können wir einen anderen Weg zu versuchen. Vielen Dank.

War es hilfreich?

Lösung

Erstellen Sie eine unbefristete Sitzung.

Im Wesentlichen Sie am Ende etwas JavaScript und einen Bild-Tag in der Masterseite oder Navigations Benutzer steuern emittieren (was auch immer Sie für eine konsistente Navigation verwenden). Das JavaScript auf einem Intervall ändert, um die Quelle des Bild-Tages auf einen HTTP-Handler-Endpunkt (einig ASPX-, .ashx), die eine 1x1-pix klare gif als Antwort für das Bild liefert. Die ständige Anforderung stellt sicher, dass Leerseiten werden die Sitzung am Leben erhalten.

Solange ein Browser-Fenster zu Ihrer Seite ASP.NET-Sitzung geöffnet sind nie Timeout.

Oft ist die JavaScript auf einer Zufallszahl auf die Anfrage heften, so dass der Browser die Anforderung nicht zwischengespeichert werden.

Ein ordentlicher Durchlauf ist verfügbar hier .

Andere Tipps

Ich gehe davon aus, dass Sie manuell das Cookie erstellt haben, wobei in diesem Fall in Code Ihres Timeout-Wert wahrscheinlich überschreibt Ihren Timeout-Wert in der Konfiguration.

Erstens, wenn möglich (was es ist wahrscheinlich nicht) kann das Cookie nicht manuell erstellen, wird es Ihnen nicht nur von diesen Kopfschmerzen, sondern Dutzenden andere speichern.

Wenn Sie manuell das Cookie erstellen müssen, stellen Sie sicher, dass das Timeout Sie verwenden tatsächlich den Timeout-Wert zu lesen, die Sie in der Konfigurationsdatei festgelegt haben und dass gleitende Ablauf auf true gesetzt ist (was Sie gesagt haben, es war).

Das heißt, wir haben noch ocassional seltsame Timeout-Probleme, wenn die Cookies manuell erstellt werden. Wo ich arbeite, haben wir eine Lösung implementiert, die die Cookies erlaubt werden automatisch erstellt und Timeouts waren kein Problem mehr; aber es hat andere Probleme zu schaffen und wir waren gezwungen, zurück zu wechseln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top