在IE

时间:2016-08-17 09:31:00

标签: javascript asp.net internet-explorer internet-explorer-8

最近,我的任务是在一个打开内部网站点上的网页的网站上制作标准超链接。这适用于Chrome中相同的环境但不适用于IE 8.这是客户端当前支持的浏览器。

问题是在IE中,设置较少特权的Web内容区域中的网站可以导航到此区域。被策略设置禁用,因此如果您尝试打开从该网站到该网站的链接Intranet站点,在IE 8中,您会收到“拒绝访问”错误。

现在很明显,这是禁用的,短期内无法启用(如果有的话)并且假设为他们提供复制链接并不是一个令人满意的解决方案,我被要求了解可能的情况。< / p>

一个网址指向Intranet网站的站点地图。我也无权访问Intranet站点代码。

我尝试过的事情:

  1. 使用javascript打开一个窗口 - 拒绝访问
  2. 使用javascript打开一个空白窗口并注入javascript来更新window.location,这也导致访问被拒绝,因为新窗口似乎在原始域上(而不是空白)。
  3. IIS反向代理,单击该链接似乎从当前站点内托管Intranet站点。这很有效,但由于内部重定向,两个功能无法在Intranet站点上运行,因此不可行。
  4. 执行从映射的内部链接到IIS和.Net控制器级别所需的Intranet链接的重定向,这两个都失败,因为客户端计算机上禁用了重定向。
  5. IFrame,eurgh - 拒绝访问
  6. 所以我的问题是,IE可以禁用该功能,任何人都可以想到这个方法吗?

    由于

1 个答案:

答案 0 :(得分:0)

只要有人认为这有用。我设法使用IIS Reverse代理解决了这个问题。某些内部重定向未被处理存在问题,该内部重定向位于与网站其余部分不同的子文件夹下。但是我在实现这一点时遇到的主要问题是,外部站点上的.aspx文件调用实际上被内部站点的页面处理程序捕获,这意味着某些调用的重写规则被处理为内部页面并返回404页面。

由于我们的内部网站在MVC下使用razor,因此页面处理程序未被使用,因此我很幸运能够删除web.config中的页面处理程序。如果不是这种情况,我将不得不重新排序处理程序,以便重定向规则在处理程序之前处理调用。