Mvc3默认授权IE7中的过滤器属性

时间:2011-03-14 14:26:21

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-3

我有一个由ajax调用调用的动作方法。

问题是授权操作过滤器在firefox的情况下重定向我,但在IE7中没有。问题是当我删除授权时,请求到达了操作方法。

我所做的是使用带有以下选项的输出缓存属性:(在其他stackoverflow问题中查看)

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]

[Authorize]

但我仍然在IE7上遇到同样的问题(重定向不起作用)

我不知道web.config身份验证元素是否存在问题:

<authentication mode="Forms">
      <forms loginUrl="Pages/LoginRegistration" timeout="2880" />
</authentication>

1 个答案:

答案 0 :(得分:3)

IE默认缓存AJAX GET请求。如果您的初始回复没有指定Cache-Control标头(与OutputCache不同 - Cache-Control控制浏览器的缓存,而不是服务器的),那么IE将不会再次请求它,因此您的授权不执行任何操作,因为浏览器实际上从未与服务器进行过对话。

因此,要么在回复中包含Cache-Control HTTP标头,要么使用POST