IIS / PHP не передает (или передает неверно) информацию о пользователях NTLM - PullRequest
1 голос
/ 12 марта 2020

В настоящее время я выполняю миграцию PHP приложений из IIS 8.0 в IIS 10.0. NTLM / Windows Аутентификация была установлена ​​через Диспетчер серверов, сценарии работают на PHP7 .1, используют точно такую ​​же конфигурацию и файлы, которые присутствовали на старом сервере, конфигурация внутри IIS почти такая же, веб-сайт, на котором я пытаюсь его использовать, был преобразован в приложение. Аутентификация установлена ​​только на Windows Аутентификация, включена, включены NTLM и Negotiate, защита экстендера не включена.

Пока при запуске скрипта, в котором есть phpinfo, учетная запись пользователя, показанная в _SERVER ["LOGON_USER"], неверна (показывает пользователя, которого я использую для подключения к самому серверу, а не пользователя, который подключается к приложению из своего собственный P C), а не текущий вошедший в систему пользователь. При попытке подключения к приложению он запрашивает у меня вход в систему, при этом он должен автоматически получать информацию о пользователе.

Единственное отличие, которое имеет старый и новый сервер, помимо различий в версиях, заключается в том, что сервер работает только по HTTPS вместо смешанного, но даже при отключении правила перенаправления он по-прежнему запрашивает вход в систему.

Ожидаемое поведение: приложение загружается автоматически и получает информацию из браузера пользователя / 401 Challenge запрос без дополнительной информации требуется для ввода конечным пользователем.

Для CGI для Impersonate User установлено значение True.

У кого-нибудь есть идеи, которые могут быть причиной, что я должен проверить или что я мог пропустить?

Screenshot from the server with the details changed to generic ones.

...