Какие способы авторизации поддерживает Test IT?
Test IT поддерживает следующие виды авторизации:
- AD/LDAP
- AD/Kerberos
- Авторизация по протоколу OpenID Connect через OAuth 2.0
Какими способами можно добавлять пользователей в систему?
Вы можете добавить пользователя вручную или выполнить синхронизацию с активной директорией (AD).
Как устроена ролевая модель доступа?
На системном уровне 3 роли:
- Администратор (Administrator). Эта роль позволяет получить доступ ко всей функциональности системы.
- Менеджер проектов (Project manager). Эта роль позволяет создавать новые проекты без доступа к административной части Test IT.
- Пользователь (User). Эта роль позволяет войти в систему и работать в рамках созданных проектов.
При отсутствии ролей пользователь не может войти в систему.
На уровне проекта 4 разрешения:
- полный доступ
- изменение
- только чтение
- запрещено
Как дать пользователю системную роль администратора?
Если пропал доступ к системе и пользователю admin не назначена системная роль, вы можете её назначить через SQL клиент или с помощью SQL запроса. Для этого выполните следующие команды:
-
. .env
-
docker-compose -f docker-compose.yml -p prod exec authdb psql -U ${POSTGRES_AUTH_USER} -d ${POSTGRES_AUTH_DB} -a -c "UPDATE "UserRoles" SET "RoleId"='2bb44299-3430-45cd-8459-1bafff01b103', "IsDeleted"=false where "UserId"='4e0287c5-e796-4e95-a683-531a71d42c34';"
Найти UserId можно в таблице AspNetUsers по UserName = admin.
RoleId роли администратора можно найти в таблице AspNetRoles по Name = admin
Перед подключением к базе данных убедитесь, что в файле docker-compose.yml открыт порт для сервиса authdb. Данные для авторизации в authdb указаны в .env файле в AUTH_CONNECTION_STRING.
Как восстановить пароль для пользователя admin?
Если вы потеряли пароль к аккаунту admin, вы можете восстановить его двумя способами.
Сбросить пароль через Docker Compose
Выполните следующие команды из директории проекта:
-
. .env
-
docker-compose -f docker-compose.yml -p prod exec authdb psql -U ${POSTGRES_AUTH_USER} -d ${POSTGRES_AUTH_DB} -a -c "UPDATE \"AspNetUsers\" SET \"PasswordHash\"='AQAAAAEAACcQAAAAECcIyHvyOizImicKdyRomOoh1G8MBfN9p/yzdUEve6AjRGpZWB5DP8WzLsrNbOoiLw==', \"IsDeleted\"=false, \"IsDisabled\"=false where \"UserName\"='admin' AND \"UserType\"='LOC';"
Сбросить пароль через SQL
Выполните следующие команды из директории проекта:
-
docker exec prod_authdb_ {full_container_name} bash
-
psql -U ${POSTGRES_AUTH_USER} -d ${POSTGRES_AUTH_DB} -a -c "UPDATE "AspNetUsers" SET "PasswordHash"='AQAAAAEAACcQAAAAECcIyHvyOizImicKdyRomOoh1G8MBfN9p/yzdUEve6AjRGpZWB5DP8WzLsrNbOoiLw==', "IsDeleted"=false, "IsDisabled"=false where "UserName"='admin' AND "UserType"='LOC';"
После выполнения команд пароль поменяется на Qwerty123. Вы можете заменить значение аргумента "UserName\"='admin' на логин любого другого пользователя, чтобы сбросить пароль от его аккаунта.