Мне поручено обновить сайт нашей компании, чтобы перенести его на новую машину. Пользователи нашего сайта регистрируются на странице входа в систему, и я добавил модуль в IIS, который перехватывает запросы, чтобы установить правильные файлы cookie и токены безопасности для входа на веб-сайт. В более ранней версии мы использовали сценарий ISAPI на C ++, но поскольку он не работает на нашей новой машине, мне пришлось закодировать этот новый модуль IIS.
Теперь веб-пользователи сопоставляются с учетной записью Windows на веб-сервере, чтобы разрешить или запретить доступ к ресурсам файловой системы (в основном изображения и видео). Отображение находится в нашей базе данных.
Внутри php-страниц веб-сайта упоминаются $ REMOTE_USER, которые предполагают учетную запись Windows, под которой обрабатывается веб-запрос. IIS привязывает учетную запись по умолчанию к запросам, но я хотел бы запустить запрос под разными учетными данными. Другими словами, если ClientOne входит в систему на веб-сайте, и он сопоставлен с учетной записью NT UsrRestricted, я бы хотел, чтобы запрос выполнялся так, как если бы UsrRestricted выполнял показ вместо стандартного IIS, который, я думаю, IUSR.
Итак, как я могу установить учетную запись Windows, от имени которой будет выполнен следующий запрос? Я прочитал о олицетворении ASP.net, и я думаю, что это может быть решение, но перенесет ли он код сервера в PHP?
* Я, конечно, новичок в PHP и IIS и ценю любые советы.
Вероятно, вы используете fast-cgi для запуска php в iis.
Вы можете установить fast-cgi для олицетворения учетных данных клиента, установив
fastcgi.impersonate = 1
в php.ini.