Rails 3.2 - Deaktivieren CSRF-Schutz für die controller-action
Ich habe einen controller namens ProductsController, und ich habe eine Aktion mit dem Namen set_status für den Zweck von PUT-API-Aufrufe aus einer .NET-client-Anwendung. Ich habe alles korrekt eingestellt, aber nach dem senden einer Anfrage, erhalte ich "Can' T verify CSRF token authenticity" Fehler. Ich habe Folgendes in meine Bewerbung controller für CSRF-Schutz:
protect_from_forgery
Damit umgehen, der CSRF-Schutz, ich habe die folgenden, um meine Produkte controller:
skip_before_filter :set_status
Nachdem Tests mit diesem ändern, ich bekomme immer noch die gleiche Fehlermeldung. Basierend auf meinem Verständnis, die oben genannten Zeile code zu deaktivieren CSRF-Schutz für die set_status Aktion in der Produkte-controller, aber es scheint nicht zu funktionieren.
Hat jemand einen Einblick, warum das möglicherweise nicht funktioniert? Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden! Hier ist mein code:
Ich habe vergessen, dass die protect_from_forgery - Anweisung erstellt die Methoden seiner eigenen. Eine dieser Methoden ist verify_authenticity_token, und so war es viel einfacher, als ich dachte. Ich steckte vor, weil ich nicht haben eine verify_authenticity_token Methode, aber eigentlich wollte ich, weil es automatisch generiert.
Für Schienen 6+
skip_before_action
stattskip_before_filter
. (skip_before_filter ist veraltet)skip_forgery_protection
(nur eine integrierte wrapperskip_before_action
)