当前位置: 首页 > 面试题库 >

Couchbase存储桶身份验证错误

拓拔泓
2023-03-14
问题内容

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

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

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

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

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

那应该打开localhost集群(实际上确实如此),然后打开一个名为“ hero”的存储桶,该存储桶实际上存在于我的Couchbase服务器中。

尽管如此,我仍然收到以下错误:

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中没有存储桶级别的密码配置。

有人知道吗?


问题答案:

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

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

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

SDK用户

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


 类似资料:
  • 我只想做一个upsert手术。我有一个JsonDocument,我有一个Couchbase服务器“123.456.789.1011”,里面有一个bucket,称为“TestBucket”。现在,当我使用端口8091的IP地址打开服务器时,它要求我输入用户名和密码,比如“uname”、“pwd”,输入后,它就打开了。我的桶没有任何密码。 这是我的代码,但问题总是在运行代码时,我会得到一个错误 Inv

  • 我尝试将安装程序部署到本地存储库: --设置。xml-- --波姆。xml--- 当我执行“mvn部署”时,我收到错误: 艺术家日志: 如果我将服务器/存储库id更改为“myserver.com”-部署工作!但这不适合我,因为在myserver上,这不适用于svn。通用域名格式 我试图将标签“配置文件”和“镜像”添加到server.xml和“分发管理”添加到pom.xml-得到相同的错误 服务器/

  • 我已经实现了keycloak用户存储SPI流。它针对外部源进行身份验证。Keycloak是用外部存储属性更新的,如果它在getUserByUsername方法中更新,它就可以工作。 我正在isValid方法中验证userValidation,并更新UserModel和LocalHashMap中的userAttributes。 从日志中,我看到UserStoreProviderFactory创建了两

  • 我目前正在使用Spring Security Oauth2 2.0.7版的一个相当普通的设置。与JdbcTokenStore一起发布,最近遇到了一个有趣的问题。 我知道,当访问令牌被创建和存储时,对象被序列化,并持久化到数据库中。我知道这是必要的,并且在以后在请求中使用访问令牌时使用。问题是,我的对象(Spring Security的用户详细信息接口的自定义iml)与我的应用程序域中的其他对象相关

  • cluster=hfactory.getOrCreateCluster(“test cluster”,“localhost:9160”,凭据); 但不幸的是,它给了我一个错误: HFactory类型中的方法getOrCreateCluster(String,CassandraHostConfigurator,Map)不适用于参数(String,String,Map)

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工