Я установил PHP, Apache 2.4 и PostgreSQL 9.4.1 на компьютер с Windows, который принадлежит домену Windows.
Мой pg_hba.conf:
hostnossl all postgres 127.0.0.1/32 md5
hostnossl all all 127.0.0.1/32 sspi
hostssl all all 127.0.0.1/32 sspi
hostnossl all postgres ::1/128 md5
hostnossl all soescript ::1/128 md5
hostnossl all all ::1/128 sspi
hostssl all all ::1/128 sspi
hostssl all postgres .mydomain.com md5
hostssl all all .mydomain.com sspi
Сервер PostgreSQL работает под учетной записью AD с ServicePrincipalName привилегия (как описано Вот). Я создал учетную запись пользователя в PostgreSQL с тем же именем, что и моя учетная запись AD. Как упоминалось выше, я установил PHP и Apache на одном компьютере. Я установил PHPPGAdmin - веб-интерфейс для PostgreSQL на основе PHP.
Когда я подключаюсь напрямую к PostgreSQL с помощью PGAdmin (работающего под учетной записью AD), все работает, как ожидалось - я могу войти в систему, используя учетные данные своего домена.
Когда я подключаюсь к интерфейсу PHPPGAdmin через веб-браузер, я не могу войти в систему, используя учетные данные своего домена.
Я получаю следующие ошибки:
LOG: connection received: host=::1 port=50395
LOG: provided user name (<my user name>) and authenticated user name (SYSTEM) do not match
FATAL: SSPI authentication failed for user "<my user name>" DETAIL: Connection matched pg_hba.conf line 91: "hostssl all all ::1/128 sspi
LOG: connection received: host=::1 port=50396
LOG: provided user name (<my user name>) and authenticated user name (SYSTEM) do not match
FATAL: SSPI authentication failed for user "<my user name>" DETAIL: Connection matched pg_hba.conf line 90: "hostnossl all all ::1/128 sspi"
Apache работает под учетной записью Local System (что имеет смысл, если вы посмотрите на ошибки выше).
Как мне убедить его работать?
Заранее спасибо.