Greenplum身份验证方式- trust+reject
Posted sdjnfangjx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
为 asp.net 应用程序连接 sql server(Windows 身份验证与 SQL Server 身份验证)的最佳方式
使用Python通过Windows身份验证连接到MS SQL Server?