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