2009-04-17 4 views
1

Ich habe eine Aktion, die das Passwort eines Benutzers zurücksetzt. In derselben Aktion, nachdem das Passwort zurückgesetzt wurde, möchte ich den Benutzer anmelden. Ich wollte nur eine "RedirectToAction" verwenden und den Benutzernamen und das Passwort an meine SignIn-Aktion senden. Da ich Logik in dieser Aktion habe, die Fehler behandelt und was nicht.Wie generieren Sie ein AntiForgeryToken in einem Code hinter der Datei?

Also muss ich den AntiForgeryToken-Wert auch an die SignIn-Aktion senden.

Antwort

1

Es gibt keine Notwendigkeit, dies zu tun, und ich denke nicht, es wäre sowieso eine gute Idee, da Sie das Passwort als Teil der Antwort zurück an den Browser übergeben würde. Verwenden Sie FormsAuthentication, um das Authentifizierungs-Cookie zu erstellen und es mit der Antwort zurückzusenden.

2

Das AntiForgeryToken ist nur für POST-Anfragen gültig (GET-Anfragen sollen idempotent sein ... das heißt, den Status auf dem Server nicht ändern). RedirectToAction führt eine HTTP/302-Umleitung durch, die zu einer GET-Anforderung führt. Daher würde ein AntiForgeryToken für RedirectToAction keinen Sinn ergeben.

Ich würde überdenken, was Sie versuchen, zu tun.

Denken Sie daran, dass Aktionen nur öffentliche Methoden auf dem Controller sind, Sie sollten also in der Lage sein, eine andere Aktion aufzurufen (und ihr Ergebnis zurückzugeben).

+0

Ich wusste nicht RedirectToAction war eine GET-Anfrage. Ich schätze, ich benutze nur die FormsAuthentication. –

Verwandte Themen