37 Stimmen

Fehlerbehebung bei Problemen mit fälschungssicheren Token

Ich habe ein Formular, das mir immer wieder einen Anti-Fälschungs-Token-Fehler anzeigt.

Hier ist mein Formular:

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.EditorFor(m => m.Email)
    @Html.EditorFor(m => m.Birthday)
    <p>
        <input type="submit" id="Go" value="Go" />
    </p>
}

Hier ist meine Aktionsmethode:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Join(JoinViewModel model)
{
    //a bunch of stuff here but it doesn't matter because it's not making it here
}

Hier ist der machineKey in der web.config:

<system.web>
  <machineKey validationKey="mykey" decryptionKey="myotherkey" validation="SHA1" decryption="AES" />
</system.web>

Und hier ist die Fehlermeldung, die ich erhalte:

A required anti-forgery token was not supplied or was invalid.

Ich habe gelesen, dass das Ändern von Benutzern auf dem HttpContext das Token ungültig macht, aber dies ist nicht hier geschehen. Die HttpGet auf meine Join-Aktion gibt nur die Ansicht:

[HttpGet]
public ActionResult Join()
{
    return this.View();
}

Ich bin mir also nicht sicher, was hier los ist. Ich habe herum gesucht, und alles scheint darauf hinzudeuten, dass es entweder die machineKey ändern (app Zyklen) oder der Benutzer/Sitzung ändern.

Was könnte sonst noch vor sich gehen? Wie kann ich das Problem beheben?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X