Python Cassandra:未发送身份验证质询,这是可疑的,因为驱动程序需要身份验证

Posted

技术标签:

【中文标题】Python Cassandra:未发送身份验证质询,这是可疑的,因为驱动程序需要身份验证【英文标题】:Python Cassandra: An authentication challenge was not sent, this is suspicious because the driver expects authentication 【发布时间】:2019-01-12 16:50:00 【问题描述】:

我正在尝试使用 python 连接cassandraDB。我已将身份验证用作PlainTextAuthProvider。这是我的代码 sn-p。

auth_provider = PlainTextAuthProvider(username="foo", password="bar")
cluster = Cluster([1.1.1.1], protocol_version=2, auth_provider=auth_provider)
session = cluster.connect()
session.set_keyspace('keyspace')
cluster.connect()

它抛出以下错误:

未发送身份验证质询,这是可疑的,因为驱动程序需要身份验证(已配置身份验证器 = PlainTextAuthenticator)

【问题讨论】:

您使用的是哪个 Cassandra 版本?你知道protocol versions吗? 是的,我使用的是 2.x 您能否提供更多有关您的设置的信息?至少 cassandra 版本和驱动程序... 另外,打印一些调试信息会很有趣。 cassandra 使用什么身份验证器?您可以在 cassandra.yaml 文件中检查这一点 - 验证器 【参考方案1】:

这是驱动程序 3.14.0 版本中的 PYTHON-940、added。它不应该抛出错误,而是在没有身份验证的情况下发生连接时发出警告。目的是在客户端配置并期望使用身份验证时进行标记,但服务器没有。验证cassandra.yaml 中的身份验证设置,并在启动时检查system.log 中是否提到了它。

【讨论】:

以上是关于Python Cassandra:未发送身份验证质询,这是可疑的,因为驱动程序需要身份验证的主要内容,如果未能解决你的问题,请参考以下文章

cassandra中的Hadoop身份验证不起作用

Firebase 电话身份验证未发送带有代码的短信

Alamofire 未创建身份验证标头来发送凭据

Laravel 未检测到标头和 JWT 包中发送的身份验证令牌

使用c#发送电子邮件SMTP服务器需要安全连接或客户端未通过身份验证[重复]

Firebase 身份验证:通过特殊电子邮件地址(例如 *@gmx.at)发送但未收到的电子邮件