我正在尝试配置我的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
有人知道我该怎么办?
由于
答案 0 :(得分:0)
它要求输入Postgres帐户的密码,而不是Windows帐户。您可以使用\ password命令
通过ALTER ROLE或psql设置Postgres密码答案 1 :(得分:0)
您需要向pg_ident.conf添加新的映射行:
anyMappingName "SYSTEM@NT AUTHORITY" postgresUserName
将此映射添加到pg_hba.conf中的所有活动行:
host mydb all 127.0.0.1/32 sspi map=anyMappingName
然后,您应该以 postgresUserName 用户身份连接到postgres db。我的意思是您应该在连接字符串中定义用户名,并将IntegratedSecurity定义为TRUE。
例如,postgresUserName可以是您先前在postgres db中创建的“ LocalSystem”用户,也可以是超级用户“ postgres”。