我有一个windows c ++应用程序,它使用libpq来处理PostgreSQL。
我的代码是:
std::string conninfo = "host=localhost port=5432 dbname=test connect_timeout=10";
_connectionHandlerPtr = PQconnectdb(conninfo.c_str());
现在我需要使用MIT Kerberos进行身份验证。 我安装了MIT Kerberos。
我的代码需要做什么? 我需要在PostgreSQL配置中进行哪些更改?
答案 0 :(得分:1)
我认为您不需要更改代码中的任何内容。快速查看psql
表明所有Kerberos支持都是通过libpq
处理的,因此psql
无需关心;您的应用程序应该如此。
如果您的系统设置为Kerberos身份验证并且有票证,则只需在libpq连接字符串中设置krbsrvname
即可。见the libpq parameters。在Windows上,如果要使用MIT Kerberos而不是SSPI,则可能还需要将gsslib
设置为gssapi
。