我想登出并将用户从/admin/home
重定向到/
url。根据登出的文档,它应该是这样工作的:
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
退出工作,但redirect
不工作。url还是/admin/home
logout route
位于web.php
中auth
中间件的底部:
Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function() {
Route::inertia('/home', 'home')->name('admin.home');
Route::inertia('/events', 'events')->name('admin.events');
Route::inertia('/event-view', 'event-view')->name('admin.event-view');
Route::inertia('/gallery', 'gallery')->name('admin.gallery');
Route::inertia('/gallery-view', 'gallery-view')->name('admin.gallery-view');
Route::inertia('/news', 'news')->name('admin.news');
Route::inertia('/news-view', 'news-view')->name('admin.news-view');
Route::inertia('/service', 'service')->name('admin.service');
Route::inertia('/contact', 'contact')->name('admin.contact');
Route::get('/terms', [LegalPageController::class, 'indexTerms'])->name('admin.terms');
Route::put('/terms/update', [LegalPageController::class, 'updateTerms'])->name('admin.terms.update');
Route::get('/privacy', [LegalPageController::class, 'indexPrivacy'])->name('admin.privacy');
Route::put('/privacy/update', [LegalPageController::class, 'updatePrivacy'])->name('admin.privacy.update');
Route::get('/copyright', [LegalPageController::class, 'indexCopyright'])->name('admin.copyright');
Route::put('/copyright/update', [LegalPageController::class, 'updateCopyright'])->name('admin.copyright.update');
Route::get('/disclaimer', [LegalPageController::class, 'indexDisclaimer'])->name('admin.disclaimer');
Route::put('/disclaimer/update', [LegalPageController::class, 'updateDisclaimer'])->name('admin.disclaimer.update');
Route::get('/legal', [LegalPageController::class, 'indexLegal'])->name('admin.legal');
Route::put('/legal/update', [LegalPageController::class, 'updateLegal'])->name('admin.legal.update');
Route::get('/about', [AboutController::class, 'indexAbout'])->name('admin.about');
Route::put('/about/update', [AboutController::class, 'updateAbout'])->name('admin.about.update');
Route::post('/logout', [LoginController::class, 'logout']);
Route::any('/{any}', function () {
Route::inertia('/', 'home')->name('admin.home');
});
});
前端像这样馈送路由:
const logout = () => {
axios.post('/admin/logout')
}
如果这是相关的:
- 我不使用
remember_token
在我的users
数据库。 Request
是一个空数组,因为我不知道从前端传递哪些数据。
您可以创建新的注销逻辑,例如:将下面显示的代码添加到:AppHttpControllersAuthLoginController.php
protected function loggedOut(Request $request) {
return redirect('/');
}