我有一个重置用户密码的操作。在密码重置后的同一操作中,我想登录用户。我想只使用“RedirectToAction”并将用户名和密码发送到我的SignIn操作。因为我在那个处理错误的行动中有逻辑而不是。
所以我还需要将AntiForgeryToken值发送到SignIn操作。
答案 0 :(得分:2)
AntiForgeryToken仅对POST请求有效(GET请求应该是幂等的...即,不是服务器上的更改状态)。 RedirectToAction执行HTTP / 302重定向,这会导致GET请求。因此,AntiForgeryToken对RedirectToAction毫无意义。
我会重新考虑你想做什么。
请记住,操作只是控制器上的公共方法,因此您应该能够从任何其他操作中调用一个(并返回其结果)。
答案 1 :(得分:1)
没有必要这样做,我认为这不是一个好主意,因为你将密码作为响应的一部分传递回浏览器。只需使用FormsAuthentication创建auth cookie并将其与响应一起发回。