MS-Word如何打开超链接?

时间:2009-09-14 13:41:23

标签: ms-word hyperlink

我有一个带有超链接的MS-Word文档。超链接指向我服务器上的身份验证重定向器。当我控制点击超链接时,我的服务器日志会报告它

然后,
  1. 使用IE进行提取  
  2. 然后使用IE获取重定向网址  
  3. 启动“默认浏览器”,在我的情况下是Firefox,并重新获取第二个(重定向)URL。

是什么给出的?这是设计的吗?

我注意到了这一点,因为我的auth系统目前依赖于重定向器设置的cookie。我有一些关于使用基于url的auth的想法,但我需要先知道是什么激发了Word的行为。

我有一些猜测,但我正在寻找一些权威的(或至少是一个更好的猜测)。

3 个答案:

答案 0 :(得分:17)

不幸的是,是的。他们试图将其归咎于“Web服务器使用的单点登录系统的限制”......

http://support.microsoft.com/kb/899927

答案 1 :(得分:15)

实际上,这是一个“功能”。如果超链接是Word文档,word将尝试下载文档并将其打开。 (由于用户代理,您必须认为它是IE,但请求来自Word流程中的WinInet。)

当服务器没有响应页面时会发生混乱,而是使用重定向和cookie进行响应。 Word遵循重定向以查看它是否将获取Word文档,并最终以HTML页面结束。然后决定Firefox应该显示它,因此它会使用最终重定向的URL启动Firefox(但没有服务器发送的任何cookie)。

如果这是一个SSO登录,Firefox可能最终需要这些cookie。

答案 2 :(得分:3)

迟到:

注意到同样的问题。在MVC 4中,它导致了查询字符串信息的丢失。 只有在收到Http 200状态后,Word才会启动浏览器。

所以我通过检查控制器是否来自IE7(可能只是MS Word)并手动返回200来避免这种情况。

然后'真正的'浏览器将重新发送http请求,并且所有井的结束都很好,因为从那里正常处理请求并且所有信息都保留在与“真实”浏览器的会话中。

有点变通方法,但是嘿,它有效。它仅适用于少量请求(在我们的例子中)。