5.7 KiB
5.7 KiB
Финальные шаги для запуска панели с авторизацией
Шаг 1: Переименуйте файлы
Backend
- Откройте папку
backend - Удалите файл
main.py(если есть) - Переименуйте
main_new.pyвmain.py
Frontend
- Откройте папку
frontend/src - Удалите файл
App.jsx(если есть) - Переименуйте
App_final.jsxвApp.jsx
Шаг 2: Установите зависимости
cd backend
pip install -r requirements.txt
Новые зависимости:
- passlib[bcrypt] - для хеширования паролей
- python-jose[cryptography] - для JWT токенов
Шаг 3: Запустите панель
Вариант 1: Автоматический запуск
START_PANEL.bat
Вариант 2: Ручной запуск
Терминал 1 - Бэкенд:
cd backend
python main.py
Терминал 2 - Фронтенд:
cd frontend
npm run dev
Шаг 4: Первый вход
- Откройте http://localhost:3000
- Войдите с учетными данными:
- Логин: admin
- Пароль: admin
- Вы попадете в панель управления
Что нового
✅ Система авторизации
- Вход и регистрация пользователей
- JWT токены для безопасности
- Автоматический выход при истечении токена
✅ Роли пользователей
- Администратор - полный доступ ко всем функциям
- Пользователь - доступ только к назначенным серверам
✅ Управление пользователями
- Кнопка "Пользователи" в шапке (только для админов)
- Выдача/отзыв доступа к серверам
- Изменение ролей пользователей
- Удаление пользователей
✅ Контроль доступа
- Пользователи видят только свои серверы
- Админы видят все серверы
- Проверка прав на каждое действие
Использование
Создание нового пользователя
Вариант 1: Регистрация
- На странице входа нажмите "Регистрация"
- Введите логин и пароль
- Новый пользователь создастся с ролью "Пользователь"
Вариант 2: Админ создает
- Попросите пользователя зарегистрироваться
- Админ выдает ему доступ к нужным серверам
Выдача доступа к серверу
- Войдите как администратор
- Нажмите кнопку "Пользователи"
- Найдите нужного пользователя
- Нажмите на название сервера (станет зеленым)
- Пользователь сразу увидит этот сервер
Изменение роли
- В разделе "Пользователи"
- Нажмите "Сделать админом" или "Сделать пользователем"
- Подтвердите действие
Безопасность
Смените секретный ключ!
Откройте backend/main.py и измените:
SECRET_KEY = "your-secret-key-change-this-in-production-12345"
На случайную строку длиной минимум 32 символа.
Смените пароль администратора
- Войдите как admin
- Создайте нового администратора с другим паролем
- Войдите под новым админом
- Удалите старого admin
Файлы данных
backend/users.json- база пользователей (НЕ УДАЛЯЙТЕ!)backend/servers/- папки серверовbackend/servers/*/panel_config.json- настройки каждого сервера
Troubleshooting
"Требуется авторизация"
Токен истек. Выйдите и войдите заново.
Не могу войти
Удалите backend/users.json и перезапустите бэкенд. Создастся новый admin/admin.
Пользователь не видит серверы
Проверьте что админ выдал ему доступ в разделе "Пользователи".
Ошибка импорта passlib или jose
Установите зависимости:
pip install passlib[bcrypt] python-jose[cryptography]
Доступ через сеть
Всё работает так же как раньше:
- Узнайте ваш IP в Radmin VPN:
ipconfig - Друг открывает:
http://ВАШ_IP:3000 - Друг регистрируется
- Вы выдаете ему доступ к нужным серверам
Готово!
Теперь у вас полноценная панель управления с:
- ✅ Авторизацией и регистрацией
- ✅ Ролями и правами доступа
- ✅ Управлением пользователями
- ✅ Контролем доступа к серверам
- ✅ Всеми предыдущими функциями
Подробнее см. AUTH_SETUP.md