Ich habe PHP, Apache 2.4 und PostgreSQL 9.4.1 auf einem Windows-Rechner installiert, der zur Windows-Domäne gehört.
Meinpg_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
Der PostgreSQL-Server läuft unter einem AD-Konto mitDienstprinzipalnamePrivileg (wie beschriebenHier). Ich habe in PostgreSQL ein Benutzerkonto mit demselben Namen wie mein AD-Konto erstellt. Wie oben erwähnt habe ich PHP und Apache auf derselben Maschine installiert. Ich habe PHPPGAdmin installiert – eine PHP-basierte Weboberfläche für PostgreSQL.
Wenn ich mit PGAdmin (unter einem AD-Konto ausgeführt) eine direkte Verbindung zu PostgreSQL herstelle, funktioniert alles wie erwartet – ich kann mich mit meinen Domänenanmeldeinformationen anmelden.
Wenn ich über einen Webbrowser eine Verbindung zur PHPPGAdmin-Schnittstelle herstelle, kann ich mich nicht mit meinen Domänenanmeldeinformationen anmelden.
Die Fehler, die ich bekomme, sind:
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 wird unter einem lokalen Systemkonto ausgeführt (was Sinn ergibt, wenn Sie sich die obigen Fehler ansehen).
Wie kann ich erreichen, dass es funktioniert?
Dank im Voraus.