【发布时间】:2012-01-31 21:45:47
【问题描述】:
通过several threads,我可以看到,在用户未通过身份验证的站点区域使用 MVC 防伪令牌是多余的。
我有一个应用程序,它从 site1、site2、site3 等向 mysite.com 发布一些信息。每个站点都有一个唯一标识符,该标识符通过异步 Javascript POST 在 POST 请求中发送。在 site1-3 上执行的 Javascript 在 mysite.com 上生成,然后返回到填充了一些 Javascript 变量的站点。
所以生命周期如下:
- site1 上的页面有对 mysite.com 的 Javascript 引用。
- 该链接引用指向一个控制器路由,该路由生成 Javascript 以返回到 site1。
- 返回的 JS 末尾包含一个 POST 请求,该请求返回到 mysite.com,其中包含 URL、浏览器等,以及 site1 上页面访问者的详细信息。
我可以从 JS POST 请求的接受控制器中很好地读取 POST 参数,但是,我想知道是否有任何意义将防伪令牌添加到参数列表中。
如果是这样,我将不得不在初始请求中生成它,并在返回到 site1 的 JS 中将其作为 JS 变量传回,然后在第二个请求中将其与表单 POST 一起传回。
由于只有在找到有效帐户的情况下才会在 mysite.com 上进行任何处理,所以这样做有什么意义吗?
如果是这样,我将如何在控制器级别生成防伪令牌?
【问题讨论】:
标签: javascript asp.net-mvc-3 antiforgerytoken