0

我使用 Apache Common DBCP 库中的“BasicDataSource”类并使用 DataStax 驱动程序“com.simba.cassandra.jdbc42.Driver”连接到带有 Java 的 Cassandra 数据库。当 Cassandra 配置为“authenticator”设置为“AllowAllAuthenticator”时,我可以连接到数据库。但是,当我启用“PasswordAuthenticator”并在“BasicDataSource”对象中设置用户名/密码时,我无法连接并获得异常“主机/IP 地址:端口上的身份验证错误:主机/IP 地址:端口需要身份验证,但没有身份验证器在集群配置中找到。”。建立安全连接需要什么?

4

1 回答 1

1

我已经回答了我自己的问题。对于遇到相同问题的任何人,解决方案是在 JDBC 连接字符串中包含选项“AuthMech=1”,因为它是经过身份验证的连接所需要的。以下摘自《Simba Cassandra JDBC Driver with SQL Connector》安装配置指南:

“AuthMech

此属性指定驱动程序是否连接到 Cassandra 或 Astra 数据库,以及驱动程序是否对连接进行身份验证。

  • 0:驱动程序连接到 Cassandra 数据库而不验证连接。
  • 1:驱动程序连接到Cassandra数据库,并使用用户名和密码验证连接。
  • 2:驱动程序连接到 Astra 数据库,并使用用户名、密码和安全连接包对连接进行身份验证。”

参考:https ://docs.datastax.com/en/driver-matrix/doc/latestSimbaCassJDBCDriver.html (第31页)

于 2021-06-25T12:00:58.527 回答