【问题标题】:User getting "AccessDenied" on IE 10用户在 IE 10 上获得“拒绝访问”
【发布时间】:2013-08-12 17:02:31
【问题描述】:

我有几个用户抱怨无法使用 IE 10 浏览器使用我的网站,但他们可以使用 IE 9 和 Chrome。他们的问题是他们能够登录,但是当单击任何其他选项卡时,他们会收到 AccessDenied 错误,这只有在用户尚未登录或我们无法检查存储在可用 cookie 中的用户信息时才有可能登录成功后。我想知道使用Hanselman's blog 中描述的修复是否可以解决我的问题。

我确实观察到我的生产服务器上的ie.browserfirefox.browser 文件与上面文章中描述的不一样。真正令人困惑的是,我能够在 IE 10 上登录并毫无问题地使用该网站,但我无法重现该问题?

请就真正的问题提出建议,以及我是否应该在不破坏其他任何东西的情况下应用修复程序。

【问题讨论】:

    标签: c# asp.net asp.net-4.0 internet-explorer-10 access-denied


    【解决方案1】:

    这不是 JavaScript Access Denied 消息吗?它可能发生,例如当您尝试访问您已引用但它不再存在的窗口对象时。我只在具有多个框架/iframe/弹出窗口(试图相互通信)的站点上看到这个问题。调试时几乎无法重现(使用 F12 -> 开发工具)。尝试将您的代码包装为 try-catch 并放置

    debugger;
    

    进入捕获。将调用调试器,您将能够检查问题。尝试此之前必须关闭 JavaScript 调试!

    或者您可以强制访问者将您的网站添加到受信任的区域,如 KB article 中所述。

    【讨论】:

    • 我刚刚发现,在 IE 10 上为我的网站打开“兼容性视图”设置后,我不再收到“拒绝访问”错误。否则,当我以网站管理员身份登录时,我什至会收到“拒绝访问”错误。没有让我的用户最终执行此设置的任何理由或替代方法?
    • 我忘了提到兼容性视图设置也会影响行为。正如我所说,您必须调试问题以找出导致错误的原因(使用我上面的说明)。当您找到问题的根源时,您将能够修复它或至少将其包装到 try-catch 中。没有通用的方法来解决这个问题。 :)
    • 如果您找到导致错误的代码,我可以帮助您。
    【解决方案2】:

    此问题已解决。是的,这是浏览器 IE 10 的一个问题,因为所有用户在打开“兼容性视图”时都可以正常工作。我无法重现该问题,因为我的浏览器上启用了他们的兼容性视图设置,因为我的浏览器上的公司组策略设置。
    - 解决此问题的一种方法是应用修补程序或使用该方法更新.browser 文件。
    - 否则,您可以安装 .NET 4.5,我最终必须这样做,同时更新 .browser 文件。由于您的应用程序以 .NET 4.0 为目标,因此它仍然可以按预期工作,除非您不会遇到任何问题。这也解决了网站的其他 CSS 问题。
    感谢 Rocky 的建议。

    【讨论】:

      【解决方案3】:

      当我遇到类似问题时,更改“兼容性视图”对我有用。

      【讨论】:

        【解决方案4】:

        使用

        setTimeout(function() {..},1000);
        

        有时在 IE8 中 document.domain 的设置速度不够快,我必须在超时后调用 iframe 函数才能使其工作 - 否则我会遇到同样的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-06
          • 1970-01-01
          • 2013-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-02
          相关资源
          最近更新 更多