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

164 lines
5.7 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.
# Финальные шаги для запуска панели с авторизацией
## Шаг 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`