关闭匿名身份验证并打开 NTLM 后出现 500 服务器错误

关闭匿名身份验证并打开 NTLM 后出现 500 服务器错误

我很确定这是一个权限问题,但似乎无法找到问题所在。我们有一个本地内部网站,运行在 IIS 6.1 上并运行 PHP。我们打开了 NTLM,以便可以提取用户信息,为了使其完全正常工作,我们关闭了匿名身份验证,但我们这样做后发现,只要 PHP 代码中出现错误,就会出现 500 服务器错误。

500 服务器错误没有子状态代码,我唯一能从诊断中得出的信息是 fastcgi 内拒绝访问(错误代码 5)。我还注意到在诊断日志页面上,身份验证设置为 NOT_AVAILABLE,但我不确定这是否正常,因为一旦启用匿名身份验证,我们就不会遇到这些问题。

如果我们重新打开匿名身份验证,500 错误页面就会消失,我们可以在页面上看到我们的 PHP 错误读数。

有人对我们可能需要在这里启用什么权限以及在哪里有一些建议吗?

答案1

PHP 默认“模拟”正在加载浏览器的用户。当 Windows Auth 关闭时,它可能会以系统用户身份运行。

因此,我增加了用户在计算机上的权限,因为现在我们启用了 Windows Auth,它似​​乎正在以用户上下文执行。我想,除非它信任你,否则它不会向你显示错误详细信息。发现起来很烦人,但这有点道理。

相关内容