[英]Mariadb Kerberos Authentication in C++
MariaDB 实例配备了 Kerberos 身份验证( GSSAPI Authentication
),并通过有效票证使用命令行和登录。
为了连接到 C++ 中的 MariaDB,我们通过安装包MariaDB-common
和MariaDB-devel
使用了 MariaDB Connector/C 版本3.1.9
。 目前身份验证是通过用户名和密码完成的:
#include <iostream>
#include <mysql/mysql.h>
#include <string>
...
try {
// Format a MySQL object
conn = mysql_init(NULL);
// Establish a MariaDB connection
if (!mysql_real_connect(
conn,
MY_HOSTNAME, MY_USERNAME,
MY_PASSWORD, MY_DATABASE,
MY_PORT_NO, MY_SOCKET, MY_OPT)) {
cerr << mysql_error(conn) << endl;
return false;
}
但是我需要一种在我们的 C++ 应用程序中使用 Kerberos 身份验证的方法,但是,我找不到任何相关文档或示例。 所以我的问题是,有没有办法在 C++ 中使用 Kerberos 身份验证连接 MariaDB?
客户端无法通过 Kerberos/GSSAPI 强制进行身份验证。
如果服务器支持 GSSAPI 并且配置正确,则服务器将与客户端协商通过 GSSAPI 进行身份验证。 这发生在握手期间(或发送COM_CHANGE_USER
命令时)。
除了服务器上的 GSSAPI 配置外,您还需要指定应通过 GSSAPI 识别用户:
CREATE USER username@hostname IDENTIFIED VIA gssapi
可以在MariaDB 知识库中找到更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.