# Финальные шаги для запуска панели с авторизацией ## Шаг 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: Установите зависимости ```bash cd backend pip install -r requirements.txt ``` Новые зависимости: - passlib[bcrypt] - для хеширования паролей - python-jose[cryptography] - для JWT токенов ## Шаг 3: Запустите панель ### Вариант 1: Автоматический запуск ```bash START_PANEL.bat ``` ### Вариант 2: Ручной запуск **Терминал 1 - Бэкенд:** ```bash cd backend python main.py ``` **Терминал 2 - Фронтенд:** ```bash 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` и измените: ```python 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 Установите зависимости: ```bash pip install passlib[bcrypt] python-jose[cryptography] ``` ## Доступ через сеть Всё работает так же как раньше: 1. Узнайте ваш IP в Radmin VPN: `ipconfig` 2. Друг открывает: `http://ВАШ_IP:3000` 3. Друг регистрируется 4. Вы выдаете ему доступ к нужным серверам ## Готово! Теперь у вас полноценная панель управления с: - ✅ Авторизацией и регистрацией - ✅ Ролями и правами доступа - ✅ Управлением пользователями - ✅ Контролем доступа к серверам - ✅ Всеми предыдущими функциями Подробнее см. `AUTH_SETUP.md`