2009-04-17 60 views
1

我有重置用戶密碼的操作。在重置密碼後的同一動作中,我想登錄用戶。我只想使用「RedirectToAction」並將用戶名和密碼發送給我的SignIn操作。因爲我在處理錯誤的行爲中有邏輯,而不是。如何在代碼隱藏文件中生成AntiForgeryToken?

所以我需要將AntiForgeryToken值也發送給SignIn操作。

回答

1

沒有必要這樣做,我認爲這不是一個好主意,因爲您將密碼作爲響應的一部分傳遞迴瀏覽器。只需使用FormsAuthentication創建auth cookie並將其與回覆一起發回。

2

AntiForgeryToken只對POST請求有效(GET請求應該是冪等的......也就是說,不是服務器上的更改狀態)。 RedirectToAction執行HTTP/302重定向,這會導致GET請求。因此,AntiForgeryToken對於RedirectToAction沒有任何意義。

我會重新考慮你正在嘗試做什麼。請記住,操作只是控制器上的公共方法,因此您應該可以從任何其他操作中調用一個(並返回其結果)。

+0

我不知道RedirectToAction是一個GET請求。我想我只會使用FormsAuthentication。 – 2009-04-17 03:37:56