laravel - LARAVEL 8 - 会话过期后在锁定页面中重定向
问题描述
我是新手,会话过期后Laravel
有问题。redirect
我设置了session_lifetime
at 120
。
session
过期后如何删除?
现在,120
几分钟后,当单击网站内的链接时,它会重定向到login
页面,但我尝试使用用户详细信息重定向到锁定屏幕页面。
应用\异常\处理程序
protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json(['message' => 'Unauthenticated.'], 401)
: redirect()->guest(route('auth/lockscreen/'.Auth::id()));
}
路线/网络
Route::get('auth/lockscreen/{id}', 'App\Http\Controllers\UserController@lockscreen')
->name('auth/lockscreen');
提前致谢!
解决方案
谢谢你的回答。这里有一个web.php (routes/web.php)
Route::middleware(['auth'])->group(function() {
Route::get('/todos', 'App\Http\Controllers\TodoController@index')->name('todos');
Route::get('/todo/create', 'App\Http\Controllers\TodoController@create')->name('todo/create');
Route::get('todo/edit/{id}', 'App\Http\Controllers\TodoController@edit')->name('todo/edit');
Route::post('todo/update/{id}', 'App\Http\Controllers\TodoController@update')->name('todo/update');
Route::post('todo/store', 'App\Http\Controllers\TodoController@store')->name('todo/store');
Route::delete('/todo/delete/{todo}', 'App\Http\Controllers\TodoController@destroy')->name('todo/delete');
Route::get('auth/lockscreen/{id}', 'App\Http\Controllers\UserController@lockscreen')->name('auth/lockscreen');
Route::post('auth/confirm_p/{id}', 'App\Http\Controllers\UserController@confirm_p')->name('auth/confirm_p');
Route::get('/todo/category', 'App\Http\Controllers\TodoCategoryController@index')->name('todo/category');
Route::post('/todo/category/store', 'App\Http\Controllers\TodoCategoryController@store')->name('todo/category/store');
Route::get('/todo/category/create', 'App\Http\Controllers\TodoCategoryController@create')->name('todo/category/create');
Route::get('/todo/category/edit/{id}', 'App\Http\Controllers\TodoCategoryController@edit')->name('todo/category/edit');
Route::delete('/todo/category/delete/{id}', 'App\Http\Controllers\TodoCategoryController@destroy')->name('todo/category/delete');
});
这里是模型 User.php 中的锁屏方法
public function lockscreen($id) {
$user = Auth::user();
return view('auth.lockscreen.'$id)->with('user', $user);
}
我不明白未经身份验证的功能是否提供重定向用户...谢谢
推荐阅读
- python - 从 pytest 测试中调用烧瓶服务器
- docker - .NET Core 3.0 应用程序在 IIS Express 上运行,但不在 docker 上
- angular - 在测试中成对不触发时可观察到
- r - 为什么我的第二个 ggplot 没有出现在我闪亮的应用程序中?
- html - CSS - 如何在移动设备上点击时停止输入被突出显示
- sql - 为什么“OR”运算符比 oracle 中的 union 慢
- android - LiveData观察者改变而不是保持不变的问题
- r - 将空列添加到稍后要填充的数据
- linux - 使用 for 循环 grep 文件行
- c# - 在 blazor 中同步 CSS 动画