← К списку версий
v0.29.0
18.08.2026
PATCH
Вход под пользователем: Impersonate
Новое
- Кнопка «Войти как» на страницах `/admin/users` (список) и `/admin/users/{id}` (детали) — рядом с «Просмотр» и «Редактировать». Показывается только для не-admin и активных пользователей.
- Реализована функция «Войти как»: администратор временно просматривает платформу от имени клиента с явной пометкой в интерфейсе и полным журналом таких входов; использование функции для других администраторов заблокировано.
- Жёлтый баннер в кабинете клиента при impersonate: «Вы вошли как {имя} — видите платформу глазами пользователя. ← Вернуться к админу».
- Кнопка «Вернуться к админу» POST `/stop-impersonate`, восстанавливает сессию админа и перенаправляет на список пользователей.
- Логирование: все входы через impersonate записываются в `activity_log` (`user_impersonate`).
Файлы
- `app/Http/Controllers/Admin/AdminUserController.php` — `impersonate()`, `stopImpersonate()`
- `routes/web.php` — `POST /admin/users/{id}/impersonate`, `POST /stop-impersonate`
- `resources/views/admin/users/index.blade.php` — кнопка «Войти как»
- `resources/views/admin/users/show.blade.php` — кнопка «Войти как»
- `resources/views/layouts/app.blade.php` — жёлтый баннер impersonate
Автотесты
- `tests/Feature/AdminImpersonateTest.php` (10 тестов, 23 assertions): вход под клиентом; запрет входа под другим админом; запрет входа под неактивным; возврат к админу; сохранение admin_id в сессии; stopImpersonate без admin_id; кнопка видна для клиентов; кнопка скрыта для админов; баннер при impersonate; баннер не показывается при обычном входе.
- `APP_VERSION` изменён: `0.28.6` → `0.29.0` (`.env`, `.env.example`, `config/app.php`).
Результат
- Админ входит под любым клиентом и видит платформу его глазами
- Жёлтый баннер предупреждает о режиме impersonate