apache - Microsoft Edge localhost apache NTLM 始终尝试

我目前在本地 Windows 机器上使用 Apache 2.4 测试 NTLM 身份验证。一切正常。如果我打开一个演示网站 http://localhost/authfoo/text.php,该网站将在每个浏览器中加载时没有身份验证对话框。 test.php 脚本自动从当前 windows 用户获取所有必需的身份验证数据。

到目前为止一切顺利。已使用 Internet Explorer 11、Chrome、Firefox 进行测试,并且可以正常工作。只有 Microsoft Edge 打开身份验证对话框,我必须输入凭据。我在这个对话框窗口中看到的只是标题显示我的计算机名而不是 localhost。这表明 Edge 使用计算机名作为内部域,并且肯定没有 intranet 域,如 localhost 是。

Edge 有一个叫做 LoopbackExempt 的东西。有了它,您可以允许 localhost 作为 intranet 站点进行线程化。这个设置也没有帮助我。 https://developer.microsoft.com/en-us/microsoft-edge/platform/faq/#how-can-i-debug-localhost

但是,当我通过 Edge 中的设置将 http://15031489-nb.cstp.intern/ 手动添加到 Intranet 站点时,当我使用 http://15031489 时它会起作用-nb.cstp.intern/authfoo/text.php 没有身份验证对话框。但是 http://localhost/authfoo/text.php 仍然显示身份验证对话框。

顺便说一句,http://localhost 也被添加到 Intranet 站点,只是为了确保所有内容都将被视为实际的 Intranet 站点

所以,我不知道如何让这个东西在 Edge 中也能正常工作,就像所有其他浏览器已经在做的那样,甚至 IE 11 也能毫无缺陷地工作。

最佳答案

我一直在搜索这个问题,并从微软开发者社区找到了这个答案:

Microsoft Edge doesn't allow integrated Windows Auth over loopback as a security mitigation to prevent breaking the browser sandbox. The only workaround offered by the team is to use the FQDN while debugging.

( Source )

因此您必须使用 FQDN 而不是 http://localhost/,它是 http://15031489-nb.cstp.intern/案件。我不相信微软会在 Edge 中解决这个问题,因为这是预期的行为。

关于apache - Microsoft Edge localhost apache NTLM 始终尝试针对计算机名而不是本地主机进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174488/

相关文章:

git - 致命的 : protocol error: bad line length charac

css - 如何将样式导出到样式组件中的外部样式表?

csv - 如何从已上传到我们的 Google 云端硬盘的 CSV 自动导入和替换 Google 表

python - 如何在 Linux 上的 Python 中检查文件锁?

iis - 如何在IIS服务器上阻止通过服务器IP地址访问网站?

spring-security - Spring Security OAuth2 资源服务器重试/弹

javascript - 如何让 chrome.webRequest 等待 XMLHttpReque

python - 如何使用pymongo在mongodb中创建索引

javascript - i18next-json-sync 使用问题

php - 如何使用 discord API 从用户名获取 discord 用户 ID