Initial commit
This commit is contained in:
163
FINAL_STEPS.md
Normal file
163
FINAL_STEPS.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# Финальные шаги для запуска панели с авторизацией
|
||||
|
||||
## Шаг 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`
|
||||
Reference in New Issue
Block a user