繁体   English   中英

Mariadb C++ 中的 Kerberos 身份验证

[英]Mariadb Kerberos Authentication in C++

MariaDB 实例配备了 Kerberos 身份验证( GSSAPI Authentication ),并通过有效票证使用命令行和登录。

为了连接到 C++ 中的 MariaDB,我们通过安装包MariaDB-commonMariaDB-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM