我在属于 Windows 域的 Windows 机器上安装了 PHP、Apache 2.4 和 PostgreSQL 9.4.1。
我的配置文件:
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 帐户下运行,服务主体名称特权(如所述)这里)。我在 PostgreSQL 中创建了与我的 AD 帐户同名的用户帐户。如上所述,我在同一台机器上安装了 PHP 和 Apache。我安装了 PHPPGAdmin - 一个基于 PHP 的 PostgreSQL Web 界面。
当我使用 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 在本地系统帐户下运行(如果您查看上述错误,这是有道理的)。
我怎样才能让它发挥作用?
提前致谢。