我将 cqlengine 与 django 一起使用。在某些情况下,Cassandra 会抛出一个错误,表明用户没有权限做某事。有时这是选择,有时这是更新,有时是其他内容。我没有要分享的代码,因为没有特定的行可以做到这一点。我非常确定用户拥有所有权限,有时它可以工作。因此,如果用户没有权限,它应该总是抛出没有权限错误。
那么这背后的原因可能是什么以及如何找到问题呢?
我将 cqlengine 与 django 一起使用。在某些情况下,Cassandra 会抛出一个错误,表明用户没有权限做某事。有时这是选择,有时这是更新,有时是其他内容。我没有要分享的代码,因为没有特定的行可以做到这一点。我非常确定用户拥有所有权限,有时它可以工作。因此,如果用户没有权限,它应该总是抛出没有权限错误。
那么这背后的原因可能是什么以及如何找到问题呢?
密钥空间 RF是否system_auth
与节点数量相同?您是否已经尝试对system_auth
密钥空间进行修复?如果不这样做。
对我来说,这听起来像是一个一致性问题。
如果您启用了身份验证,请确保为密钥空间设置适当的 RF system_auth
(应等于节点数)。
其次,确保您创建的用户对所有键空间都具有以下权限。{'ALTER', 'CREATE', 'DROP', 'MODIFY', 'SELECT'}
. 如果您将用户设置为超级用户,请确保您添加'AUTHORIZE'
为权限以及上面为该用户列出的权限。
system_auth
第三,您可以通过运行为密钥空间中的所有数据启动读取修复作业CONSISTENCY ALL;
SELECT * from system_auth.users ;
SELECT * from system_auth.permissions ;
SELECT * from system_auth.credentials ;
希望这能解决问题!