Couchbase 存储桶身份验证错误

Couchbase Bucket authentication error(Couchbase 存储桶身份验证错误)
本文介绍了Couchbase 存储桶身份验证错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

使用 Couchbase 5.0 及其 Java 客户端 2.0.3,出现以下错误.

Using Couchbase 5.0 and its Java client 2.0.3, I have the following error.

只需按照以下说明打开存储桶:

Just following these instructions to open a bucket:

https://developer.couchbase.com/documentation/server/current/sdk/java/managing-connections.html

如上所述,使用基本的本地配置,只需两行代码:

As explained, with a basic local configuration, it's just a matter of two lines of code:

Cluster cluster = CouchbaseCluster.create();
Bucket bucket = cluster.openBucket("hero");

这应该会打开 localhost 集群(实际上是这样),然后打开一个名为hero"的存储桶,它实际上存在于我的 Couchbase 服务器中.

That should open the localhost cluster (it actually does) and afterwards open a bucket called "hero", which actually exists in my Couchbase server.

但是,我不断收到以下错误:

Nevertheless, I keep getting the following error:

2017-11-08 00:40:25.546 ERROR 1077 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.couchbase.client.java.error.InvalidPasswordException: Passwords for bucket "hero" do not match.] with root cause

com.couchbase.client.java.error.InvalidPasswordException: Passwords for bucket "hero" do not match.
    at com.couchbase.client.java.CouchbaseAsyncCluster$1.call(CouchbaseAsyncCluster.java:156) ~[java-client-2.0.3.jar:2.0.3]
    at com.couchbase.client.java.CouchbaseAsyncCluster$1.call(CouchbaseAsyncCluster.java:146) ~[java-client-2.0.3.jar:2.0.3]
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:77) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.operators.OperatorMap$1.onError(OperatorMap.java:49) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.operators.NotificationLite.accept(NotificationLite.java:147) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java:177) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.access$000(OperatorObserveOn.java:65) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java:153) ~[rxjava-1.0.4.jar:1.0.4]
    at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:47) ~[rxjava-1.0.4.jar:1.0.4]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_151]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_151]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_151]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_151]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]

不知何故,它正在询问存储桶的密码.但是Couchbase的bucket级别没有密码配置.

Somehow it's asking a password for the bucket. But there is no configuration of password at bucket levels in Couchbase.

有人知道吗?

推荐答案

在 Couchbase Server 5.0 中,引入了基于角色的访问控制.您现在必须创建一个名称与存储桶名称匹配的用户,并在打开存储桶时使用该用户的密码.用户必须具有对存储桶具有访问权限的角色.

In Couchbase Server 5.0, role-based access controls were introduced. You must now create a user with a name that matches the bucket name and use that user's password when opening the bucket. The user must have a role with access rights to the bucket.

Cluster cluster = CouchbaseCluster.create();
Bucket bucket = cluster.openBucket("hero", "password");

有关更多信息,请参阅此 Couchbase 论坛帖子:V5.0 - 新的基于角色的身份验证 - 存储桶密码等

See this Couchbase forum post for more information: V5.0 - NEW Role-Based Authentication - Bucket Passwords, etc

SDK 用户

  • 继续使用您当前的 SDK 版本访问存在用户、具有适当权限且与该存储桶同名的存储桶.
  • 升级到最新的 SDK 版本以访问现在可用的更新的身份验证和用户管理功能.

这篇关于Couchbase 存储桶身份验证错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)