Add support for Couchbase's role-based access
See gh-16389
This commit is contained in:
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,8 +86,12 @@ public class CouchbaseConfiguration {
|
||||
@Bean
|
||||
@Primary
|
||||
public Bucket couchbaseClient() {
|
||||
return couchbaseCluster().openBucket(this.properties.getBucket().getName(),
|
||||
this.properties.getBucket().getPassword());
|
||||
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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 {
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user