Роли разрешений cochdb всегда "не авторизованы"

Я пытаюсь выполнить аутентификацию пользователя / роли (на основе сеанса) с помощью CouchDB, но как только я ввожу роль в базу данных, все пользователи и роли могут получить доступ к базе данных -> они не авторизованы.

Получить сессию:

POST http://myhost:1234/_session

Возвращает (объект userCtx):

{
    "ok": true,
    "name": "some_user_name",
    "roles": [
        "developers"
    ]
}

Затем я добавил роли в базу данных:

PUT http://myhost:1234/database/_security

{
    "admins": {
        "names": [],
        "roles": []
    },
    "members": {
        "names": [],
        "roles": [
            "developers"
        ]
    }
}

и он возвращается {"ok":true} и я могу видеть разрешения также в Fauxton.

Когда я сейчас пытаюсь получить доступ к базе данных с

ПОЛУЧИТЕ http://myhost:1234/database/_all_docs

это возвращает:

{
    "error": "unauthorized",
    "reason": "You are not authorized to access this db."
}

2 ответа

Решение

Аааа я обнаружил ошибку, я делал тесты с почтальоном и там я не узнал, что учетные данные не были отправлены с запросами:-(

Если вы используете Postman, добавьте следующую пару "ключ-значение" в заголовки.

      "Content-Type": "application/json",
  Accept: "application/json",
  Authorization: "Basic " + btoa("YOUR_ADMIN_USER:YOUR_PASSWORD")
Другие вопросы по тегам