Session PHP7 IIS10 Windows身份验证返回身份验证用户和远程用户中的各种不同AD用户

Session PHP7 IIS10 Windows身份验证返回身份验证用户和远程用户中的各种不同AD用户,session,active-directory,windows-authentication,iis-10,php-7.3,Session,Active Directory,Windows Authentication,Iis 10,Php 7.3,我有一个非常恼人的问题,正如标题中简短描述的那样。由于我不知道在这里发布哪些设置是有意义的,而且事实上,在使用IIS 7的服务器2008上运行的是完全相同的web应用程序,因此我尝试尽可能好地解释发生的错误行为。我非常欣赏你的想法或暗示 我们的web应用程序在2008服务器上运行了多年,IIS7、PHP5.6处于FastCGI模式。我们通过针对Active Directory的“Windows身份验证”(NTLM/协商)对用户进行身份验证,因此只允许用户在会话开始时输入其域用户凭据。事实上,我们

我有一个非常恼人的问题,正如标题中简短描述的那样。由于我不知道在这里发布哪些设置是有意义的,而且事实上,在使用IIS 7的服务器2008上运行的是完全相同的web应用程序,因此我尝试尽可能好地解释发生的错误行为。我非常欣赏你的想法或暗示

我们的web应用程序在2008服务器上运行了多年,IIS7、PHP5.6处于FastCGI模式。我们通过针对Active Directory的“Windows身份验证”(NTLM/协商)对用户进行身份验证,因此只允许用户在会话开始时输入其域用户凭据。事实上,我们总是使用这样的命名会话:SESS_uu[TIMESTAMP],并在整个应用程序会话中循环时间戳,直到它被任何东西破坏——关闭、离开等等

现在,我们使用IIS10和PHP7.4将web应用程序迁移到新服务器2019。应用程序本身工作正常,完全没有任何问题。造成危急情况的唯一原因如下:

我在我的机器上输入web应用程序,输入凭据,然后按预期输入。我在顶部看到我的用户名,一切正常。在我处理工作流和数据操作时,它也正常工作。但是:如果我办公室的同事现在进入web应用程序,并开始与我同时工作,我经常会在浏览器窗口顶部看到他的用户名,他就是我。。。(???)由于我们有时都会按F5键,会话会来回变化。当我们的用户(公司内部)处理安全敏感数据时,这确实是一个阻碍

据我所知,我确实根据旧服务器上的设置检查了IIS和php.ini中的所有设置,并在web上搜索了几天。绝对没有成功

我甚至在会话启动时注释掉了设置自定义会话名称的部分。事实上,我没有为会话文件使用自定义文件夹

我唯一可以肯定的是,这种错误行为是由IIS中的错误配置造成的:如果我只使用phpinfo()打开一个测试文件,我就可以重现同样的行为。身份验证用户、远程用户和登录用户在另一个用户域\用户名和我的域\用户名之间来回更改

有没有人也有过这种有趣但恼人的行为?有什么想法或提示可以在哪里使用杠杆吗

非常感谢你的投入

我的问题的新信息:

我发现与旧服务器最显著的区别是负载平衡器!可能是负载平衡导致此问题,因为旧服务器未平衡

如何处理这个问题,有什么建议或想法吗


您可以使用网络监视器查看服务器返回的内容,以进一步分析问题。@samwu感谢您的想法。如果我能通过这种方式得到更多的信息,我会查一查。但是我想知道,除了在phpinfo()的输出中已经看到的以外,我还能找到什么方法呢。。。phpinfo()向我来回显示另一个用户名和我的用户名,没有可识别的原因。