我在一个问题上被困了好几天,这个问题似乎对IE的某些版本和代理的使用非常具体。我的ASP.MVC 5应用程序使用Ajax请求进行身份验证。如果请求成功,则通过将主页的url分配给window.location.href来触发对主页面的重定向。这个很好用。
现在,客户机(人员)使用Kerberos代理和IE8/9。当IE未配置为使用代理时,重定向工作正常。然后,我在FF和IE8上使用相同的参数配置了代理。我还在它们的异常列表中添加了一个条目,以排除部署应用程序的IIS服务器的IP。它在FF中仍然很好,但在IE8/9中却不起作用。当使用代理时,主页永远不会显示。我只有一页空白。不过,页面后面的所有代码似乎都在那里。但是IE8似乎不愿意解释Javascript。我没有亲自测试,但是我联系的技术人员告诉我IE11没有问题。
我在这里测试了许多建议,但没有成功:https://code.google.com/p/html5security/wiki/RedirectionMethods
直到最近,我才用这个ajax版本通过表单post替换了通常的登录方式。上一个版本重定向是因为控制器返回以下内容:
return RedirectToAction("Index", "Main", new { area = "" });尽管使用了代理,它还是有效的。从技术上讲,这种重定向与上面描述的重定向有多大的不同?
发布于 2015-04-09 12:04:00
结果发现这不是改变方向的问题。
最初看来,重定向似乎是最有可能出现问题的地方。我做了很多测试,在我的想法用完后,我开始考虑代码的其他部分。我开始寻找与客户端以前版本相比已经更改的代码的任何部分,并且我准备系统地测试那些看起来不太可能引起任何问题的部分,即使它看起来很“愚蠢”.我很快就找到了解决办法!
以下几行简单地使IE停止了对页面的解释:
<link rel="icon" type="image/png" href="/Content/Images/Logo/gapLogo2014.png" />
<!--[if IE]>
<link rel="shortcut icon" href="/Content/Images/Logo/gapLogo2014.png" type="image/vnd.microsoft.icon" />
<![endif]-->这两个链接标记中的一个就足以产生问题。而且,即使IE的排除列表包含web服务器的IP,也只有在IE8/9配置为使用代理时才会出现问题。
我找不到根本原因。我刚消除了这个因素。这位客户不会看到一个宠儿,不是什么大不了的事。
https://stackoverflow.com/questions/29512509
复制相似问题