До couchbase 4.5, в корзинах были пароли, где, если вам нужен доступ к корзине, вам нужно будет указать имя корзины и ее пароль. После 4.5 они внедрили rbac (управление доступом на основе ролей) и удалили пароли на уровне сегмента.
Таким образом, для людей, которые обновили свою базу, но не хотят менять свой код или сделать новую версию, был предложен обходной путь: создайте имя пользователя для каждой корзины, где имя пользователя - это имя корзины, а пароль - То же самое для всех пользователей, поэтому spring-data-couchbase
по-прежнему успешно проходит проверку подлинности при запуске.
Теперь rbac добавлен к couchbase-java-client
& spring-data-couchbase
(учитывая, что вы используете последнюю версию, не уверен, в какой конкретной версии они ее добавили), поэтому, если вы хотите использовать одно имя пользователя для подключения ко всем вашим корзинам вам понадобится класс , который extends AbstractCouchbaseConfiguration
, а затем
@Override
protected String getUsername() {
return "admin";
}
И введите пароль по старому bucketPassword()
методу.
Я не думаю, что вы можете сделать это через application.properties
, поскольку зависимость org.springframework.boot.autoconfigure
все еще не обновлена, чтобы учесть последние изменения spring-data-couchbase
.
Также обратите внимание, что имя пользователя, которое вы создали на вкладке безопасности, не имеет ничего общего с пользователем, которого вы создали с помощью мастера установки. Пользователь, которого вы создали при первоначальной установке, является главным, его нельзя удалить, вы не увидите его на вкладке «Безопасность» и у него есть полные права администратора. Вы все еще можете определить имя пользователя с тем же именем через вкладку безопасности (я только что узнал об этом), но тогда у вас будет 2 учетных записи, один и тот же пользователь, другой проход (или, может быть, тот же проход, но я даже не уверен, как он обрабатывается couchbase, я имею в виду, если у нас есть 2 учетные записи с именем «Администратор» с одним и тем же паролем, а затем в веб-консоли происходит вход в систему, какой пользователь считается? Может, кто-то может сказать нам.)