【发布时间】:2018-03-31 19:13:01
【问题描述】:
我正在尝试配置我的 PostgreSql 数据库(“mydb”),以便为 Windows“LocalSystem”帐户提供登录权限。
我在我的数据库中创建了一个名为 LocalSystem 的用户
SQL> CREATE USER LocalSystem;
然后,我尝试在 pg_hba.conf 中使用 SSPI 配置,但可能我配置错误:
# TYPE DATABASE USER ADDRESS METHOD
host mydb LocalSystem 127.0.0.1/32 sspi
当我使用 psql 运行命令时,我被要求提供密码……这是我没想到的……
编辑: 我还尝试使用
将我的域帐户映射到 postgres 用户pg_ident.conf
#MAPNAME SYSTEM-USERNAME PG-USERNAME
postgresname domain\username postgresname
pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
host mydb postgresname 127.0.0.1/32 sspi
有人知道我该怎么做吗?
谢谢
【问题讨论】:
-
您的问题到底是什么?您收到的错误信息是什么?请注意,
LocalSystem与 SQL 中的localsystem相同。如果你想要一个区分大小写的名字,你需要在创建用户时引用它:"LocalSystem"。 -
当我使用 psql 运行命令时,系统会要求我提供密码。但是 LocalSystem 没有密码,对吧?这是一个 Windows 帐户。
-
我也尝试将我的域帐户映射到 postgres 用户并使用 sspi 身份验证..
-
它要求输入 Postgres 帐户的密码,而不是 Windows 帐户。您可以通过
ALTER ROLE或在 psql 中使用\password命令设置 Postgres 密码 -
哦,我不理解那种 SSPI 身份验证。我认为 SSPI 的目标是提供一种在 Windows 和 Postgres 之间“同步”身份验证过程的方法,这样如果用户实际上在 Windows 中登录,则不需要 Postgres 密码。谢谢你的帮助! :D
标签: postgresql postgresql-9.6 access-rights sspi local-system-account