У меня есть админка и одна для обычных пользователей. Прямо сейчас, когда мой сеанс истекает, я получаю перенаправление из области администратора на домашнюю страницу, и мне нужно обновить sh страницу, чтобы перенаправить меня на /login
. PS. Я использую Vue. js для внешнего интерфейса.
Я хочу, чтобы меня перенаправляли на мою страницу / login по истечении сеанса вместо домашней страницы, которая тогда не должна быть видна.
web. php
// Admin routes
Route::middleware(['can:admin'])->group(function () {
// all routes for admin, and when my session expire I get redirected from here
}
Route::middleware('guest')->get('/', function () {
return redirect('/login');
});
// Normal user routes
Route::middleware('auth')->get('/', function () {
return view('layouts.app');
});
Route::middleware('auth')->get('/{any}', function () {
return view('layouts.app');
})->where('any', '.*');
AuthServiceProvider
public function boot()
{
$this->registerPolicies();
Gate::define('admin', function ($user) {
return !empty($user->roles()->where('admin_area', true)->first());
});
Gate::define('normal', function ($user) {
return !empty($user);
});
}
Одно из решений - отловить 403
ошибку с axios
и выполнить жесткое обновление sh. Но я знаю, что это не совсем нормально.