Add support for Couchbase's role-based access

See gh-16389
pull/16930/head
Enes Açıkoğlu 6 years ago committed by Stephane Nicoll
parent f8eb230dea
commit 3386856ccf

@ -57,7 +57,14 @@ public class CouchbaseConfiguration {
@Bean
@Primary
public Cluster couchbaseCluster() {
return CouchbaseCluster.create(couchbaseEnvironment(), determineBootstrapHosts());
CouchbaseCluster couchbaseCluster = CouchbaseCluster
.create(couchbaseEnvironment(), determineBootstrapHosts());
if (this.properties.getUsername().isEmpty()
|| this.properties.getPassword().isEmpty()) {
return couchbaseCluster;
}
return couchbaseCluster.authenticate(this.properties.getUsername(),
this.properties.getPassword());
}
/**
@ -79,9 +86,13 @@ public class CouchbaseConfiguration {
@Bean
@Primary
public Bucket couchbaseClient() {
if (this.properties.getUsername().isEmpty()
|| this.properties.getPassword().isEmpty()) {
return couchbaseCluster().openBucket(this.properties.getBucket().getName(),
this.properties.getBucket().getPassword());
}
return couchbaseCluster().openBucket(this.properties.getBucket().getName());
}
/**
* Initialize an environment builder based on the specified settings.

@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.autoconfigure.couchbase;
import java.time.Duration;
@ -42,6 +41,16 @@ public class CouchbaseProperties {
private final Env env = new Env();
/**
* Password of the cluster on RBA(role base access).
*/
private String password = "";
/**
* Username of the cluster on RBA(role base access).
*/
private String username = "";
public List<String> getBootstrapHosts() {
return this.bootstrapHosts;
}
@ -58,6 +67,22 @@ public class CouchbaseProperties {
return this.env;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public static class Bucket {
/**

Loading…
Cancel
Save