2009-05-28 10 views
0

Ich habe eine Webanwendung mit Formularauthentifizierung. Wenn ich die folgenden SchritteValidierung der Viewstatus-MAC in Safari fehlgeschlagen

  1. der Login-Cookie
  2. Klicken Sie auf einen Link ablaufen lassen durchführen, die ein angemeldeter Benutzer erfordert
  3. Der Benutzer zur Anmeldeseite umgeleitet wird
  4. den Browser Klicken Sie auf Zurück-Taste
  5. wird der Benutzer wieder
zur Login-Seite umgeleitet in mit einem gültigen Benutzernamen/Passwort
  • Log

    Ich bekomme diese Ausnahme Validierung des Viewstatus MAC fehlgeschlagen. Wenn diese Anwendung von einer Webfarm oder einem Cluster gehostet wird, stellen Sie sicher, dass die Konfiguration den gleichen Validierungsschlüssel und Validierungsalgorithmus angibt. AutoGenerate kann nicht in einem Cluster verwendet werden.

    Dieser Fall erscheint nur in Safari (Windows und Mac). Der grundlegende Unterschied zwischen Safari und anderen Browsern besteht darin, dass Safari, wenn wir in Schritt 4 auf die Zurück-Schaltfläche klicken, die Anmeldeseite erneut anzeigt, während die anderen Browser die vorherige Seite anzeigen, an der der Benutzer gerade gearbeitet hat.

    helfen Bitte in diesem Zusammenhang

  • Antwort

    0

    Während ich Fehler in meinem Log gesehen haben, die mich glauben, dass ich das gleiche Problem konfrontiert, wie Sie, ich habe noch nicht gelungen, den Fehler in einer Beispielanwendung zu reproduzieren. Meine Vermutung ist, dass die Viewstate-Informationen von der Timeout-Seite an die Anmeldeseite gesendet werden, die ungültig ist. Um dies zu korrigieren, kann es möglich sein, etwas früh in den Lebenszyklus der Anmeldeseite (vielleicht Page_Init) zu setzen, das erkennt, wenn eine Umleitung zur Anmeldeseite stattfindet (möglicherweise durch den Referer) und die Validierung des Ansichtsstatus umgeht.

    1

    Wir hatten ein ähnliches Problem mit Viewstate beginnend mit Safari v 5.1.4.

    Unser Problem wurde verursacht, weil wir während des Ereignisses window.onload ein Formular übermittelten und dann auf eine neue Seite umgeleitet wurden. Wenn wir die zweite Seite einreichen, erhalten wir die Bestätigung, die Sie melden.

    wir, dass Safari 5.1.4 und 5.1.5 bestimmen den Ansichtszustand für die vorhergehende Seite sendete, wenn wir die zweite Seite vorgelegt, die den Validierungsfehler

    Siehe meine Antwort in diesem Thread ASP.NET Viewstate with Safari 5.x

    verursacht
    Verwandte Themen