Windows ドメインに属する Windows マシンに PHP、Apache 2.4、PostgreSQL 9.4.1 をインストールしました。
私の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アカウントで実行されていますサービスプリンシパル名特権(説明通り)ここ)。AD アカウントと同じ名前で PostgreSQL にユーザー アカウントを作成しました。前述のように、同じマシンに PHP と Apache をインストールしました。PostgreSQL への PHP ベースの Web インターフェイスである PHPPGAdmin をインストールしました。
PGAdmin (AD アカウントで実行) を使用して PostgreSQL に直接接続すると、すべてが期待どおりに動作し、ドメイン資格情報を使用してログインできます。
Web ブラウザ経由で 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 はローカル システム アカウントで実行されています (上記のエラーを見るとそれがわかります)。
どうすればそれが機能すると確信できるでしょうか?
前もって感謝します。