首页 > 代码库 > Greenplum身份验证方式- trust+reject

Greenplum身份验证方式- trust+reject

Greenplum身份验证和Postgresql是一样的。参考文档是gpdb 管理指南和postgresql 官网文档。

主要的配置文件是master_directory下的pg_hba.conf和postgres.conf

对配置在pg_hba.conf中的(IP、用户名、数据库名)组合无条件trust或reject。

 

测试代码:

         创建数据库连接

         Class.forName("org.postgresql.Driver");

         String url = "jdbc:postgresql://10.110.18.241/testdb";

         Connection conn = DriverManager.getConnection(url, "user1", null);

  注意这里不需要配置密码

 测试步骤:

1.  服务端未做任何配置,客户端连接测试trust

连接数据库失败:FATAL: no pg_hba.conf entry for host "10.47.0.153", user "user1", database "testdb", SSL off

2.  服务端增加配置,客户端连接测试trust

配置内容:

         host    testdb          user1  10.47.0.153/32   trust

测试连接数据库成功

3.  修改服务端配置,客户端连接测试trust

配置修改为(all表示所有的库或所有的用户):

           host    template1   user1  10.47.0.153/32   trust

           或

           host    testdb      gpadmin  10.47.0.153/32 trust

连接数据库失败:FATAL: no pg_hba.conf entry for host "10.47.0.153", user "user1", database "testdb", SSL off

4.  修改服务端配置,客户端连接测试reject

配置修改为:

host    all             user1  10.47.0.153/32   trust

host    testdb          user1 10.47.0.153/32    reject

        测试结果:

                连接成功。配置文件解析应该是按文本顺序从上到下依次解析判断的。

     调换一下顺序 reject在前面

                        客户端连接(user1   testdb)失败;

                         客户端连接(user1   template1) 成功

Greenplum身份验证方式- trust+reject