我正在使用 AjaxFileBrowser 浏览 WebDav 文件:
每个用户都有一个凭据和关联的文件夹。我成功地让用户进行了身份验证并避免了浏览器中的登录弹出窗口。
我在 SSL 下使用基本身份验证。
现在我尝试使用我的 Microsoft Office 应用程序运行文件,我收到一个身份验证弹出窗口,以便能够读取/写入这些文件。
删除此身份验证并使其自动进行是否有任何问题。
正如官方文档中提到的,我可以使用 NTLM 或 Kerberos,但我将放弃第一个身份验证步骤。
最佳答案
遗憾的是,无法通过 Microsoft Office 的基本身份验证来避免身份验证对话框。 Microsoft Office 和网络浏览器(或您的其他 WebDAV 客户端应用程序)在不同的进程中运行,在这种情况下网络浏览器无法传递身份验证信息。
这里有几个选项可以完全避免登录对话框:
实现 MS-OFBA 身份验证或将 MS-OFBA 与 Basic 结合使用。 见 Choosing WebDAV Server Authentication Shema 文章 确定 MS-OFBA 是否是您所需要的。你完全可以避免登录
对话框在 Internet Explorer 的情况下(但在其他网络的情况下不是 浏览器)。Windows 上的 Microsoft Office 应用程序使用 Internet Explorer 显示 MS-OFBA 登录对话框。如果用户正在登录您的 使用 Internet Explorer 访问网站并在登录期间检查 “记住我”复选框,将共享永久 cookie 在 Microsoft 中使用的 IE 窗口(带有单个网站)之间 Office 登录对话框和 IE 网页显示您的网站。这 打开 Microsoft Office 时不会显示登录对话框 在这种情况下的文件。
使用其他网络浏览器,用户将获得 MS-OFBA 登录对话框 至少在第一次访问文档期间。如果他检查 文档访问期间的“记住我”复选框,下次 不会显示登录对话框。
此方案也适用于 Microsoft Office for MAC,但我可以 不知道 MAC 上的 MS Office 在其内部使用什么网络浏览器 登录对话框。
实现 URL 身份验证。您的 url 看起来像 http://webdavserver.com/[SessionID1234567890]/path/file.docx 确保你这样做 在这种情况下,不将 ID 作为 URL 参数传递,作为参数传递 被 Microsoft Office 截断。
关于php - Ajax 文件浏览器自动登录 Microsoft Office 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230461/