如何在libpq中使用MIT Kerberos

C++ How to use MIT Kerberos with libpq?

本文关键字:MIT Kerberos libpq      更新时间:2023-10-16

我有一个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配置中更改什么?

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

如果您的系统是为Kerberos认证设置的,并且有一个票据,那么您应该只需要在libpq连接字符串中设置krbsrvname。参见libpq参数。在Windows上,如果您想使用MIT Kerberos而不是SSPI,您可能还需要将gsslib设置为gssapi