User Management (command line)
User management
Управление пользователями
Для управления пользователями используется команда user-provider инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа.
Создание пользователя
svacer user-provider add --login <login> --user_password <pwd> --firstname <firstname> --lastname <lastname> --middlename <middlename> --email <email> --change-password <true|false> (используйте для смены пароля при первой авторизации по умолчанию false) --auth-type <0|1|2> (тип аутентификации, 0 - Svacer, 1 - LDAP, 2 - OIDC_OAUTH, по умолчанию 0) --role <role id or name> (для установки нескольких ролей использовать флаг несколько раз) --review-master <true|false> (активировать атрибут Review Master, по умолчанию false)
Пример:
./bin/svacer user-provider add --user admin --password admin --login example --user_password Example123 --review-master true 2024-12-02T13:19:41.366+0300 info Log file location /tmp/svacer-3054598677.log 2024-12-02T13:19:41.366+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:19:41.375+0300 info Server version: [devel] 2024-12-02T13:19:41.380+0300 info Logged by user admin 2024-12-02T13:19:41.401+0300 info User added successfully: ID: e45f2ae5-4e5b-4308-a2f5-0f3461626c18 Password: Example123
Удаление пользователя
svacer user-provider delete --username <id or name>
Пример:
./bin/svacer user-provider delete --user admin --password admin --username example321 2024-12-02T13:27:38.731+0300 info Log file location /tmp/svacer-2241911697.log 2024-12-02T13:27:38.731+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:27:38.739+0300 info Server version: [devel] 2024-12-02T13:27:38.759+0300 info User deleted successfully
Получение списка пользователей
svacer user-provider get --with-roles <true|false> (к выводу добавляются роли пользователя) --filter <all|active|archived> (используйте для фильтрации списка пользователей)
Пример:
./bin/svacer user-provider get --user admin --password admin --with-roles true 2024-12-02T13:21:30.392+0300 info Log file location /tmp/svacer-3616394399.log 2024-12-02T13:21:30.393+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:21:30.395+0300 info Server version: [devel] [ { "ID": "00000000-0000-0000-0000-000000000000", "firstName": "admin", "lastName": "admin", "login": "admin", "roles": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "admin", ... ]
Обновление пользователя
svacer user-provider update --username <id|name> (имя или идентификатор пользователя для обновления (по умолчанию обновляется текущий пользователь, указанный в авторизации) --login <login> --user_password <pwd> --firstname <firstname> --middlename <middlename> --email <email> --add-role <role id or name> (добавляет роль с переданным id или именем) --delete-role <role id or name> (удаляет роль с переданным id или именем) --review-master <true|false> (активировать атрибут Review Master)
Пример:
./bin/svacer user-provider update --user admin --password admin --username example --login example321 2024-12-02T13:24:43.052+0300 info Log file location /tmp/svacer-3041843149.log 2024-12-02T13:24:43.052+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:24:43.059+0300 info Server version: [devel] 2024-12-02T13:24:43.096+0300 info User example updated successfully
Изменение статуса пользователя
svacer user-provider update-status --username <id|name> (имя или идентификатор пользователя для обновления) --status <active|archive>
Пример:
./bin/svacer user-provider update-status --user admin --password admin --username example321 --status archive 2024-12-02T13:26:49.444+0300 info Log file location /tmp/svacer-2446325878.log 2024-12-02T13:26:49.444+0300 info Quering server configuration from http://localhost:8080/api/public/server/info 2024-12-02T13:26:49.452+0300 info Server version: [devel] 2024-12-02T13:26:49.479+0300 info User status updated successfully
Role management
Управление ролями
Для управления пользователями используется команда role-provider инструмента Svacer с необходимыми подкомандами. Также требуется аутентификация на сервере для выполнения запросов и необходимые права доступа.
Создание роли
svacer role-provider add --name <name> --permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило")
Удаление роли
svacer role-provider delete --role <role name|id>
Изменение роли
svacer role-provider update --role <role name|id> --permissions <permissions> (Укажите права вида "цель1(ALL, идентификатор ветки, идентификатор или имя проекта, имя проекта/имя ветки):правило(чтобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") --force <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим) --remove <true|false> (Используйте, чтобы удалить правила для роли. Правила, необходимые для удаления указываются в опции --permissions)
Получение списка ролей
svacer role-provider get --target <user id|name> (имя или идентификатор пользователя, чьи роли запрашиваются, если данный флаг не указан, будут выведены все роли)
Назначение роли пользователю
svacer role-provider assign --username <user name|id> --role <role name|id>тобы получить список разрешений используй команду list-permissions);цель2:правило; ... ,цельН:правило") --remove <true|false> (Используйте, чтобы перезаписать правила для роли. По умолчанию указанные правила будут добавлены к уже существующим)
Получение списка разрешений
svacer role-provider list-permissions --format <json|table> (Укажите формат вывода json или table (table выводится с применением, названием и описанием разрешения) (по умолчанию: json))