C ++如何在libpq中使用MIT Kerberos?

时间:2014-05-11 17:42:55

标签: c++ postgresql kerberos libpq

我有一个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配置中进行哪些更改?

1 个答案:

答案 0 :(得分:1)

我认为您不需要更改代码中的任何内容。快速查看psql表明所有Kerberos支持都是通过libpq处理的,因此psql无需关心;您的应用程序应该如此。

如果您的系统设置为Kerberos身份验证并且有票证,则只需在libpq连接字符串中设置krbsrvname即可。见the libpq parameters。在Windows上,如果要使用MIT Kerberos而不是SSPI,则可能还需要将gsslib设置为gssapi