Files
DLE/SETUP_ACCESS_LEVELS.md

106 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Настройка расширенной системы прав доступа
## Описание изменений
Добавлена расширенная система прав доступа с настраиваемыми порогами:
- **Read-Only (1+ токен)** - только просмотр данных
- **Editor (2+ токен)** - просмотр + редактирование + удаление
- **User (0 токенов)** - базовые права без изменений
## Новые поля в форме добавления токенов
На странице `/settings/security` в форме добавления токенов добавлены два новых поля:
1. **Минимум токенов для Read-Only доступа** (по умолчанию: 1)
2. **Минимум токенов для Editor доступа** (по умолчанию: 2)
## Применение изменений
### 1. Обновление базы данных
Выполните SQL скрипт для добавления новых полей:
```bash
# Подключитесь к базе данных PostgreSQL
psql -h localhost -U your_username -d your_database
# Выполните миграцию
\i backend/scripts/add_access_thresholds.sql
```
### 2. Перезапуск сервера
```bash
# В папке backend
yarn restart
# или
docker-compose restart backend
```
### 3. Перезапуск frontend
```bash
# В папке frontend
yarn dev
```
## Как использовать
### Для администраторов:
1. Перейдите на страницу `/settings/security`
2. В разделе "Токены аутентификации" нажмите "Подробнее"
3. При добавлении нового токена заполните:
- Название токена
- Адрес смарт-контракта
- Сеть блокчейна
- Минимальный баланс
- **Минимум токенов для 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-Only
- `auth_tokens.editor_threshold` - порог для Editor
## Обратная совместимость
- Все существующие токены получают значения по умолчанию (1 и 2)
- Старые проверки `isAdmin` продолжают работать
- Система автоматически мигрирует существующие данные