如何在代码隐藏文件中生成AntiForgeryToken?

时间:2009-04-17 03:18:55

标签: asp.net-mvc

我有一个重置用户密码的操作。在密码重置后的同一操作中,我想登录用户。我想只使用“RedirectToAction”并将用户名和密码发送到我的SignIn操作。因为我在那个处理错误的行动中有逻辑而不是。

所以我还需要将AntiForgeryToken值发送到SignIn操作。

2 个答案:

答案 0 :(得分:2)

AntiForgeryToken仅对POST请求有效(GET请求应该是幂等的...即,不是服务器上的更改状态)。 RedirectToAction执行HTTP / 302重定向,这会导致GET请求。因此,AntiForgeryToken对RedirectToAction毫无意义。

我会重新考虑你想做什么。

请记住,操作只是控制器上的公共方法,因此您应该能够从任何其他操作中调用一个(并返回其结果)。

答案 1 :(得分:1)

没有必要这样做,我认为这不是一个好主意,因为你将密码作为响应的一部分传递回浏览器。只需使用FormsAuthentication创建auth cookie并将其与响应一起发回。