我想使用PostgreSQL连接到我的本地SSPI。我已将pg_hba.conf文件更改为IPv4和IPv6:
host all userName 127.0.0.1/32 sspi
host all all 127.0.0.1/32 md5
当我尝试使用PgAdmin连接到数据库时,我不需要为userName指定密码,而我需要用户postgres。由此我可以理解SSPI正在发挥作用。
现在,当我尝试使用jdbc验证连接时,例如
String url = "jdbc:postgresql://127.0.0.1:5432/dbName";
Connection conn = DriverManager.getConnection(url);
System.out.println(conn.isValid(10));
我收到了错误:
java.lang.RuntimeException:NTDSAPI DsMakeSpn调用失败,87
注意:
我试过了:
String url = "jdbc:postgresql://127.0.0.1:5432/dbName?gsslib=sspi"
和
Connection conn = DriverManager.getConnection(url, props) //where props have only username.
我也试过这个
Connection conn = DriverManager.getConnection(url, "userName", ""); //empty password.
似乎没什么用。