PHP IIS и SQLSRV | Ошибка входа пользователя 'NT AUTHORITY \ ANONYMOUS LOGON' - PullRequest
0 голосов
/ 16 марта 2020

Я знаю, что некоторые версии того, о чем я буду спрашивать, спрашивались ранее, но ничего более конкретного, чем c, так как мне нужна помощь.

Я установил IIS Server Server 2016, использовал установщик Web Platform 5.0 для развертывания PHP 7.4 и Microsoft SQL Драйвер сервера для этой версии (оба x64). Затем я изменил удостоверение пула приложений в IIS на домен учетной записи службы домена \ sv c - php

Однако при попытке подключиться к удаленному SQL серверу я получаю следующую ошибку :

Ошибка входа для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'

Теперь я знаю, как назначить доступ в SQL, моя главная проблема - я хочу PHP использовать идентификатор пула приложений, чтобы я мог использовать Windows Auth между сервером приложений и SQL сервером без необходимости использования SQL Auth. Со стороны пользователя в приложение, я хочу windows аутентификацию на самом сервере, чтобы я знал, кто входит в систему, это работает, с Windows Auth включен на IIS, я могу получить

$ _ SERVER ['AUTH_USER'] = домен \ имя_пользователя

Единственное, о чем я думал, - это выдавать себя за другого, так или иначе. Я пытался установить как 0, так и не включая и не изменяет настройки в PHPInfo (), это всегда 1, хотя я не думаю, что это имеет значение.

fastcgi.impersonate = 0

Итак, вкратце, я просто хочу заставить PHP использовать пул приложений в качестве идентификатора, используемого для запроса SQL. Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 16 марта 2020

Я понял это, его нужно было установить на:

fastcgi.impersonate = 0

Причина, по которой он раньше не работал, была упоминается ниже в php .ini во второй раз, так что мои изменения в более высоком были перезаписаны.

Чтобы быть понятным, чтобы помогать другим ....

  • Windows Аутентификация в IIS для пользователей работает нормально и не связана с PHP до SQL
  • Использование fastcgi.impersonate = 0 действительно заставляет драйвер SQLSrv использовать идентификатор пула приложений, чего я и хотел
...