2017-09-30 4 views
0

Hier sind 2 Cookie-Antwort in meiner Projektfunktion:bekam ich ein Problem bei der Verwendung von I ValidateAntiForgeryTokenAttribute

var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); 
_httpContext.Response.Cookies.Add(cookie); 
var cookie_new=new HttpCookie(new HttpCookie("test","vote")); 
_httpContext.Response.Cookies.Add(cookie); 

Das Projekt für die Benutzerautorisierung verwendet, aber wenn ich das erste Cookie mit AJAX Senden [type = "post '] zu einer Aktion, ich nehme einen Fehler msg sagt

"Ein erforderliches Anti-Fälschungs-Token wurde nicht geliefert oder war ungültig.".

Allerdings ist der andere Erfolg. Ich verstehe nicht, was das Problem ist.

+0

Entfernte Tags vom Titel; Akronym Großschreibung; Grammatik; Lärmminderung; Layout. – rene

Antwort

0

Das ValidateAntiForgeryToken Attribut muss in Ihrem Controller auf die Aktion hinzugefügt werden, etwa so:

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult MyAction() 
{ 
... 
} 

Aber Sie müssen auch eine Kontrolle über die Form bieten die Fälschungs Token innerhalb der Ansicht, indem zu halten:

@Html.AntiForgeryToken() 

Wenn Sie die Seite Quelle der gerenderte Ansicht untersuchen, dann sollten Sie ein __RequestVerificationToken in einer versteckten input sehen, zusammen mit seinem Wert.

+0

das was ich mache, aber nicht nützlich. Nachdem das erste Cookie hinzugefügt wurde, waren die Aktionen auf dieser Seite fehlerhaft. Und es funktioniert nur, wenn ich [ValidateAntiForgeryToken] von der Aktion entferne. –

Verwandte Themen