4.2 KiB
4.2 KiB
Настройка расширенной системы прав доступа
Описание изменений
Добавлена расширенная система прав доступа с настраиваемыми порогами:
- Read-Only (1+ токен) - только просмотр данных
- Editor (2+ токен) - просмотр + редактирование + удаление
- User (0 токенов) - базовые права без изменений
Новые поля в форме добавления токенов
На странице /settings/security в форме добавления токенов добавлены два новых поля:
- Минимум токенов для Read-Only доступа (по умолчанию: 1)
- Минимум токенов для Editor доступа (по умолчанию: 2)
Применение изменений
1. Обновление базы данных
Выполните SQL скрипт для добавления новых полей:
# Подключитесь к базе данных PostgreSQL
psql -h localhost -U your_username -d your_database
# Выполните миграцию
\i backend/scripts/add_access_thresholds.sql
2. Перезапуск сервера
# В папке backend
yarn restart
# или
docker-compose restart backend
3. Перезапуск frontend
# В папке frontend
yarn dev
Как использовать
Для администраторов:
- Перейдите на страницу
/settings/security - В разделе "Токены аутентификации" нажмите "Подробнее"
- При добавлении нового токена заполните:
- Название токена
- Адрес смарт-контракта
- Сеть блокчейна
- Минимальный баланс
- Минимум токенов для Read-Only доступа
- Минимум токенов для Editor доступа
Для пользователей:
- Система автоматически определяет уровень доступа на основе количества токенов
- Отображается текущий уровень доступа с визуальными индикаторами
- UI автоматически адаптируется под уровень доступа
Примеры настроек
Стандартные настройки:
- Read-Only: 1 токен
- Editor: 2 токена
Строгие настройки:
- Read-Only: 2 токена
- Editor: 5 токенов
Либеральные настройки:
- Read-Only: 1 токен
- Editor: 1 токен (все пользователи с токенами могут редактировать)
Технические детали
Backend изменения:
auth-service.js- добавлена функцияgetUserAccessLevel()authTokenService.js- поддержка новых полейtokenBalanceService.js- возврат порогов доступаroutes/settings.js- API endpoint для новых полейroutes/auth.js- новый endpoint/access-level/:address
Frontend изменения:
useAuth.js- поддержка уровней доступаusePermissions.js- новый composable для проверки правAuthTokensSettings.vue- форма с новыми полямиSecuritySettingsView.vue- использование новых прав доступа
Новые поля в БД:
auth_tokens.readonly_threshold- порог для Read-Onlyauth_tokens.editor_threshold- порог для Editor
Обратная совместимость
- Все существующие токены получают значения по умолчанию (1 и 2)
- Старые проверки
isAdminпродолжают работать - Система автоматически мигрирует существующие данные