2009-05-28 89 views
0

私はフォーム認証を使用しているWebアプリケーションを持っています。私は、次の手順を実行するとSafariでviewstate MACの検証に失敗しました

  1. は、ログインCookieは、ユーザーのログインが必要ですリンクを
  2. クリックを期限切れにしてみましょう
  3. ユーザーがログインページ
  4. にリダイレクトされ
  5. バックブラウザボタン
  6. をクリックしてください
  7. ユーザーが
有効なユーザ名/パスワードを使ってログイン
  • 再びログインページにリダイレクトされます

    この例外が発生します viewstate MACの検証に失敗しました。このアプリケーションがWebファームまたはクラスタによってホストされている場合は、構成で同じvalidationKeyおよび検証アルゴリズムが指定されていることを確認してください。 AutoGenerateはクラスタ内では使用できません。

    このケースは、safari(windowsとmac)でのみ表示されます。 Safariと他のブラウザとの基本的な違いは、手順4で戻るボタンをクリックすると、Safariはログインページを再度表示し、他のブラウザはユーザーが作業していた前のページを表示することです。

    私は私はあなたが、私はまだサンプルアプリケーションでエラーを再現することができていないと私は同じ問題に直面しています信じさせる私のログにエラーを見ているが、この点

  • 答えて

    0

    に助けてください。私の推測では、タイムアウトページのviewstate情報が無効なログインページに送信されているということです。これを修正するには、ログインページへのリダイレクトがいつ起こっているかを(おそらくリファラーを通して)認識し、viewstateの検証を回避するログインページのライフサイクル(おそらくPage_Init)に何かを置くことが可能かもしれません。

    1

    Safari v 5.1.4からviewstateに似た問題がありました。

    問題は、window.onloadイベントの間にフォームを送信し、新しいページにリダイレクトしたために発生しました。第2ページを提出する際には、あなたが報告している脅威を取得します。私たちは、このスレッドで私の応答を参照してください。検証エラー

    の原因となる2ページ目を提出したときに5.1.4と5.1.5は、前のページのビューステートを送ったことサファリを決定

    ASP.NET Viewstate with Safari 5.x

    関連する問題