В настоящее время у меня есть панель администратора, которая позволяет администраторам входить в систему через учетные записи других пользователей и просматривать свои учетные записи, как пользователь, который перенаправляет на субдомен.
так что я должен быть на URL http://example.local/admin/users
, который является список пользователей, затем, когда вы входите в систему как конкретный пользователь по этому маршруту.
Войдите в систему как пользователь
Route::get('/users/{id}/login_as', function ($id) {
$user = App\User::withTrashed()->find($id);
$user->changelogs()->create([
'action' => 'Admin logged in as user'
]);
session()->put(['og_user' => auth::user()]);
\Auth::logout();
\Auth::loginUsingId($id);
return redirect('/dashboard');
});
Это будет перенаправлять на страницу пользователей на как они видят платформу, но это изменится на поддомен http://subdomain.example.local/......
.
В настоящее время у меня есть заголовок, который появляется после входа в систему и содержит кнопку return to admin
, которая затем выводит вас из этого пользователя и возвращает вы вернетесь на страницу администратора, на которой вы были изначально.
Вернуться к кнопке администратора
@if(session()->has('og_user') && auth::user())
<div class="signed_in">
<div class="container inner">
<h5 class="text-light mb-0">
Logged-in as {{ auth::user()->name }}
</h5>
<a href="/admin/{{session()->get('og_user')['id']}}/log_in_as" class="btn btn-secondary ml-auto">
Return to admin
</a>
</div>
</div>
@endif
Войти как admin
Route::get('/admin/{id}/log_in_as', function ($id) {
session()->forget('og_user');
\Auth::logout();
\Auth::loginUsingId($id);
return back();
});
проблема, с которой я столкнулся, заключается в том, что однажды я вошел в систему под другим пользователем на поддомене, а затем я возвращаюсь к администратору, он направляет меня обратно на страницу администратора, но под поддоменом все еще http://subdomain.example.local/dashboard
с темой пользовательского интерфейса домена, когда я хочу, чтобы * 1 032 * назад к example.local/dashboard
Может ли кто-нибудь указать мне в правильном направлении, как это сделать?