【问题标题】:How can I configure PostgreSQL to use Windows Authentication?如何配置 PostgreSQL 以使用 Windows 身份验证?
【发布时间】:2010-08-10 12:15:04
【问题描述】:

我正在尝试设置 PostgreSQL 并只允许某些 Windows 用户访问数据库中的数据。使用 MS SQL 设置 Windows 身份验证非常简单,但我不知道如何在 PostgreSQL 中设置它。

我已经浏览了http://www.postgresql.org/docs/current/static/auth-methods.html的文档

并编辑了 pg_hba 文件。但是这样做之后,PostgreSQL服务无法启动。

【问题讨论】:

    标签: postgresql windows-authentication


    【解决方案1】:

    Postgresql 服务器是否在 Windows 以及客户端上运行,那么您可以使用它进行测试以查看它是否有效:

    host all all 0.0.0.0/0 sspi
    

    Postgresql 开发人员 Magnus Hagander,elaborates 对此:

    “从本地计算机、您的域或受信任域连接的所有用户都将使用 SSPI 配置的身份验证自动进行身份验证(您可以使用组策略启用/禁用 NTLMv2 或 LM 之类的东西 - 这是 Windows 配置,而不是PostgreSQL 一)。你仍然需要在 PostgreSQL 中创建登录角色,但就是这样。注意,域根本没有验证,只有用户名。所以你的主域和受信任域中的用户管理员将被视为同一用户如果他们尝试连接到 PostgreSQL。请注意,此方法与 Unix 客户端不兼容。"

    如果您混合使用 Unix-Windows,那么您必须使用 GSSAPI 借助 kerberos,这意味着您必须进行一些配置。 This article on deploying Pg in Windows environments 可能会引导你走上正确的道路。

    【讨论】:

      【解决方案2】:

      如果其他人像我一样从 9.5 开始遇到这种情况,您需要在 ipv4 和 ipv6 中添加一个可选参数才能使其正常工作

      include_realm=0

      所以整个事情看起来像

      host all your_username 127.0.0.1/32 sspi include_realm=0
      

      【讨论】:

      • 谢谢!为我修好了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多