Dev*_*she 17 postgresql windows-authentication
我正在尝试设置PostgreSQL并且只允许某些Windows用户访问数据库中的数据.使用MS SQL设置Windows身份验证非常简单,但我无法弄清楚如何在PostgreSQL中设置它.
我已经浏览了http://www.postgresql.org/docs/current/static/auth-methods.html上的文档.
并编辑了pg_hba文件.但在这样做之后,PostgreSQL服务无法启动.
Joh*_*n P 12
Postgresql服务器是否在Windows以及客户端上运行,那么您可以使用它来测试它是否有效:
host all all 0.0.0.0/0 sspi
Run Code Online (Sandbox Code Playgroud)
Postgresql开发人员Magnus Hagander 详细阐述了这一点:
"将使用SSPI配置的身份验证自动验证从本地计算机,您的域或受信任域连接的所有用户(您可以使用组策略启用/禁用NTLMv2或LM之类的东西 - 它是Windows配置,而不是PostgreSQL配置)你仍然需要在PostgreSQL中创建登录角色,但就是这样.请注意,该域根本没有经过验证,只有用户名.因此,如果他们尝试,主用户和可信域中的用户管理员将被视为同一用户连接到PostgreSQL.请注意,此方法与Unix客户端不兼容."
如果你混合使用Unix-Windows,那么你必须使用GSSAPI求助于kerberos,这意味着你必须进行一些配置.有关在Windows环境中部署Pg的这篇文章可能会引导您走上正确的道路.
如果有人像我这样做的那样鼓励这样做,你将需要在ipv4和ipv6中添加一个可选参数,以便它能够工作
include_realm = 0
所以整个事情看起来像
host all your_username 127.0.0.1/32 sspi include_realm=0
Run Code Online (Sandbox Code Playgroud)