Files
NeveTimePanel/FINAL_STEPS.md
2026-01-14 20:23:10 +06:00

5.7 KiB
Raw Blame History

Финальные шаги для запуска панели с авторизацией

Шаг 1: Переименуйте файлы

Backend

  1. Откройте папку backend
  2. Удалите файл main.py (если есть)
  3. Переименуйте main_new.py в main.py

Frontend

  1. Откройте папку frontend/src
  2. Удалите файл App.jsx (если есть)
  3. Переименуйте 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: Первый вход

  1. Откройте http://localhost:3000
  2. Войдите с учетными данными:
    • Логин: admin
    • Пароль: admin
  3. Вы попадете в панель управления

Что нового

Система авторизации

  • Вход и регистрация пользователей
  • JWT токены для безопасности
  • Автоматический выход при истечении токена

Роли пользователей

  • Администратор - полный доступ ко всем функциям
  • Пользователь - доступ только к назначенным серверам

Управление пользователями

  • Кнопка "Пользователи" в шапке (только для админов)
  • Выдача/отзыв доступа к серверам
  • Изменение ролей пользователей
  • Удаление пользователей

Контроль доступа

  • Пользователи видят только свои серверы
  • Админы видят все серверы
  • Проверка прав на каждое действие

Использование

Создание нового пользователя

Вариант 1: Регистрация

  1. На странице входа нажмите "Регистрация"
  2. Введите логин и пароль
  3. Новый пользователь создастся с ролью "Пользователь"

Вариант 2: Админ создает

  1. Попросите пользователя зарегистрироваться
  2. Админ выдает ему доступ к нужным серверам

Выдача доступа к серверу

  1. Войдите как администратор
  2. Нажмите кнопку "Пользователи"
  3. Найдите нужного пользователя
  4. Нажмите на название сервера (станет зеленым)
  5. Пользователь сразу увидит этот сервер

Изменение роли

  1. В разделе "Пользователи"
  2. Нажмите "Сделать админом" или "Сделать пользователем"
  3. Подтвердите действие

Безопасность

Смените секретный ключ!

Откройте backend/main.py и измените:

SECRET_KEY = "your-secret-key-change-this-in-production-12345"

На случайную строку длиной минимум 32 символа.

Смените пароль администратора

  1. Войдите как admin
  2. Создайте нового администратора с другим паролем
  3. Войдите под новым админом
  4. Удалите старого 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]

Доступ через сеть

Всё работает так же как раньше:

  1. Узнайте ваш IP в Radmin VPN: ipconfig
  2. Друг открывает: http://ВАШ_IP:3000
  3. Друг регистрируется
  4. Вы выдаете ему доступ к нужным серверам

Готово!

Теперь у вас полноценная панель управления с:

  • Авторизацией и регистрацией
  • Ролями и правами доступа
  • Управлением пользователями
  • Контролем доступа к серверам
  • Всеми предыдущими функциями

Подробнее см. AUTH_SETUP.md