Skip to content

REST API: Эндпоинты пользователей и управления доступом RBAC ​

API пользователей позволяет администраторам создавать учетные записи, изменять пароли и настраивать ролевую модель доступа (RBAC).


1. Матрица ролевого доступа (RBAC) ​

Права доступа / Подсистемаvieweroperatoradminservice (M2M)
Живой просмотр WebRTC / HLS✅✅✅✅
Просмотр и экспорт архива✅✅✅✅
Управление камерами❌✅✅✅
Управление тегами и папками❌✅✅✅
Управление пользователями❌❌✅❌
Резервное копирование бэкапов❌❌✅❌

2. Список пользователей (GET /api/users) ​

  • Требуемая роль: admin
bash
curl -H "Authorization: Bearer <ADMIN_TOKEN>" http://localhost:8080/api/users

Ответ (200 OK):

json
[
  {
    "username": "admin",
    "role": "admin"
  },
  {
    "username": "operator1",
    "role": "operator"
  },
  {
    "username": "guard_john",
    "role": "viewer"
  }
]

3. Создание пользователя (POST /api/users) ​

  • Требуемая роль: admin
bash
curl -X POST http://localhost:8080/api/users \
  -H "Authorization: Bearer <ADMIN_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "operator_john",
    "password": "StrongPassword987!",
    "role": "operator"
  }'

Ответ (201 Created):

json
{
  "username": "operator_john",
  "role": "operator"
}

4. Обновление пароля или роли (PUT /api/users/:username) ​

bash
curl -X PUT http://localhost:8080/api/users/operator_john \
  -H "Authorization: Bearer <ADMIN_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "NewSecretPassword2026!",
    "role": "admin"
  }'

Ответ (200 OK).


5. Удаление пользователя (DELETE /api/users/:username) ​

bash
curl -X DELETE http://localhost:8080/api/users/operator_john \
  -H "Authorization: Bearer <ADMIN_TOKEN>"

Ответ (200 OK): {"message": "user deleted"}.

Связанная документация ​

Released under the MIT License.