如果我在一个页面中添加多个表单,我需要添加单独的防伪令牌中的每个表格? [英] If I add multiple forms in a single page, do I need to add separate Anti-Forgery Tokens in each form?

查看:146
本文介绍了如果我在一个页面中添加多个表单,我需要添加单独的防伪令牌中的每个表格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果答案是肯定的那么如何将ASP.NET MVC找出哪些令牌链接到何种形式以及如何验证呢?

If the answer is yes then how would ASP.NET MVC find out that which token was linked to which form and how to validate it?

我已经看到了它是为每个表单创建两个单独的令牌。

I've seen it is creating two separate tokens for each form.

推荐答案

有没有什么具体的,你需要在这种情况下做的。 ASP.NET MVC将简单地重复使用的所有形式的相同的值,因此它不需要知道哪些形式发送请求,以便验证它。简单地说一个 Html.AntiForgeryToken()在每个表单和装饰您要发布帖子的<一个每个控制器的行动href=\"http://msdn.microsoft.com/en-us/library/system.web.mvc.validateantiforgerytokenattribute.aspx\"><$c$c>[ValidateAntiForgeryToken]属性,你应该确定。

There is nothing specific that you need to do in this case. ASP.NET MVC will simply reuse the same value for all forms so it doesn't need to know which form sent the request in order to validate it. Simply put an Html.AntiForgeryToken() in each form and decorate each controller action you are posting to with the [ValidateAntiForgeryToken] attribute and you should be OK.

这篇关于如果我在一个页面中添加多个表单,我需要添加单独的防伪令牌中的每个表格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆