【问题标题】:LARAVEL 8 - redirect in lock page after session expiredLARAVEL 8 - 会话过期后在锁定页面中重定向
【发布时间】:2021-08-25 08:27:25
【问题描述】:

我是Laravel 的新手,会话过期后redirect 出现问题。 我将session_lifetime 设置为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的完整路线和锁屏方法吗

标签: laravel authentication session redirect


【解决方案1】:

感谢您的回答。 这里有一个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);
}

我不明白未经身份验证的功能是否提供重定向用户...谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多