- add a alert which shows which user admin is impersonating - add a logout icon, which stops impersonating and restore admin dashboard
33 lines
661 B
PHP
33 lines
661 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Auth;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\User;
|
|
use Auth;
|
|
|
|
class ImpersonatedUserController extends Controller
|
|
{
|
|
public function store(User $user)
|
|
{
|
|
Session()->put('impersonate', Auth::id());
|
|
Session()->put('impersonate_name', $user->name);
|
|
|
|
Auth::login($user);
|
|
|
|
return to_route('explore');
|
|
}
|
|
|
|
public function destroy()
|
|
{
|
|
$adminId = Session()->get('impersonate');
|
|
|
|
Auth::loginUsingId($adminId);
|
|
|
|
Session()->forget('impersonate');
|
|
Session()->forget('impersonate_name');
|
|
|
|
return to_route('admin.dashboard');
|
|
}
|
|
}
|