0

我有一个安装到 webdav url 的驱动器号(使用基本身份验证),我在执行 net use 命令时传递了凭据。这一切都很好,当查看我的 tcpdump 时,我可以看到每个请求是如何由 Microsoft-WebDAV-MiniRedir 完成的。此外,每次都正确传递凭据。

但是,当我打开一个 office 文件时,请求不再由 Microsoft-WebDAV-MIniRedir 完成,而是由 MSDAIPP(Microsoft Data Access Internet Publishing Provider)完成。显然office 开始直接访问webdav,因为office 已经内置了webdav 支持(即MSDAIPP)。

但是,在使用 miniredir 创建挂载时传递了我的凭据,MSDAIPP 没有我的凭据。所以办公室会自己要求提供凭据。

我希望办公室不要自己访问 webdav,而只是通过驱动器号访问它(在这种情况下,它将由 miniredir 处理)。

我 100% 确定这是问题所在,我可以使用记事本或其他工具打开 .doc 文件并保存。所以我确信这与 MSDAIPP 接管有关。

由于我正在开发一种会自动为用户创建 webdav 驱动器号的产品,因此用户本身实际上并不知道他的凭据(它们是生成的)。因此,用户在办公室填写他们的凭据是不可接受的。

能够自动将凭据传递给 MSDAIPP 也很好。

提前致谢。

4

1 回答 1

0

据我所知,这是 Microsoft Office 的限制,没有任何解决方案。使用基本或摘要式身份验证时,Microsoft Office 将始终要求提供凭据。

我看到以下解决方法:

  • 实施 URL 身份验证。将一些 id 放入 Url(但不要放入查询字符串,它将被 MS Office 截断),如下所示: http://serv/SessionID1234567890/folder/document.doc.
  • 使用 Windows 集成身份验证,即 NTLM 或 Kerberos。在这种情况下,Microsoft Office 不会要求进行身份验证。
于 2013-02-09T01:01:36.280 回答