2016-06-28 17 views
0

Ich betreibe einen Couchbase-Server auf einem Remote-Computer, der einen Bucket namens "targeting-dev" enthält. Bis heute hatte der Bucket kein Passwort und ich konnte auf diesen Bucket nach Herzenslust zugreifen und abfragen. Heute stelle ich ein Passwort auf den heißen SteinCouchbase kann nicht auf passwortgeschützte Buckets zugreifen

./couchbase-cli bucket-edit -c host.ip:8091 -u Admin -p password --bucket=targeting-dev --bucket-password=p4$$w0rd 

Seitdem verwenden, Sachen seltsam scheint. Ich kann immer noch Abfragen mit „cbq“ laufen:

./cbq -engine="http://targeting-dev:[email protected]:8093/" 

Und alle Abfragen ausführen OK mit dem Passwort und Authentifizierung schlägt fehl, ohne.

Wenn ich versuche, Abfragen in einem Web-Browser ausgeführt werden wie folgt (die in der Vor-Passwort mal gearbeitet):

http://host.ip:8092/targeting-dev/_design/dev_targeting-dev/_view/user_count 

, die jetzt erscheint-up-Fenster Authentifizierung und ich versuchte, „mit Targeting-dev/p4 $$ w0rd "für Benutzername und Passwort, aber das mich nicht lassen log in

Schließlich habe ich den folgenden Java-Code.

public AbstractRepository(final Database config) { 
    this.config = config; 
    this.cluster = CouchbaseCluster.create(config.getNodes()); 
    this.bucket = cluster.openBucket(bucket, password); 
} 

wo Eimer = "Targeting-dev" und das Kennwort =" p4 $$ w0rd "Wie im Debugger bestätigt.

, dass jetzt die folgende Ausnahme ausgelöst:

Constructor threw exception; nested exception is com.couchbase.client.java.error.InvalidPasswordException: Passwords for bucket "targeting-dev" do not match. 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1469) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) 
[INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) 

Ich weiß, das ist eine lange Frage mit vielen Variationen einen Becher zugreifen, könnte aber jemand bitte erleuchte mich auf, wo bin ich bei der Java falsch gehen Anwendung und der Webbrowserzugriff?

Könnte der Schlüssel die falsche Portnummer sein, die ich verwende (für den Webbrowser) - Ich habe mehrere Kombinationen ausprobiert, aber keine funktioniert?

Antwort

0

Ich habe den Schuldigen gefunden - es sieht aus wie Couchbase nicht "$" in Passwörtern mag. Das Festlegen des Passworts auf "p455w0rd" scheint das Problem sowohl für den Webbrowser als auch für die Java-App behoben zu haben. Alles funktioniert jetzt.

0

In Couchbase Server 5.0 wurden rollenbasierte Zugriffskontrollen eingeführt. Sie müssen jetzt einen Benutzer mit einem Namen erstellen, der dem Bucket-Namen entspricht, und das Kennwort dieses Benutzers beim Öffnen des Buckets verwenden. Der Benutzer muss eine Rolle mit Zugriffsrechten für den Bucket haben.

Clustercluster = CouchbaseCluster.create(); Bucket-Bucket = cluster.openBucket ("Held", "Passwort");

Im obigen Beispiel ist dein Bucket-Name held und du solltest einen Benutzer unter dem Sicherheitsbereich mit dem Namen "hero" erstellen lassen. Beim Erstellen eines Buckets zum Hinzufügen eines Kennworts wird keine Option angezeigt.

Couchbase Bucket authentication error

Verwandte Themen