【发布时间】:2016-08-15 13:04:25
【问题描述】:
我一直在尝试使用 java jdk 到 Couchbase。 sdk v 3.2.3 但是,我觉得奇怪的是,提供的示例在连接时从未提供任何密码。另外我创建了一个只读用户,我看到从集群打开存储桶时无处提供用户名,您只提供密码。我尝试使用管理员和我创建的只读用户的密码。但它会因 couchbase.client.java.error.InvalidPasswordException 失败:存储桶“myBucket”的密码不匹配。它与我登录管理控制台时使用的密码相同,但该密码不起作用。只有空密码有效。
我很困惑,不明白它的窍门?
有人知道吗?
我的目标是创建一个只读用户并使用此用户凭据仅从沙发库中读取特定模块的数据,该特定模块仅应读取数据。
【问题讨论】:
-
在管理控制台中,我们似乎可以在存储桶上设置密码(与用户无关,而是直接与存储桶关联)。这就解释了为什么我们不提供用户-name,只有密码。但仍然无法理解如何实现与沙发底座存储桶的只读连接。
-
在文档页面 (developer.couchbase.com/documentation/server/4.5/security/…) ... 有这样一句话:“应用程序使用存储桶密码对 Couchbase 存储桶进行身份验证,然后获得对其的完整读写访问权限。”我认为这意味着不存在只读连接之类的东西......如果有人对此有所了解,请发表评论。
-
如果您可以接受付费解决方案,可以使用第 3 方驱动程序。我们的JDBC driver 在用户级别(不是存储桶级别)进行身份验证,然后将 SQL 请求转换为使用 Web API 提交的 N1QL 请求。
-
嗨@JerodJohnson,我将浏览您的链接。我会看看它并决定......
-
也可以参考这里,以防有人好奇:forums.couchbase.com/t/n1ql-readonly-permissions/6420