【发布时间】:2019-12-09 19:43:57
【问题描述】:
所以在我的LoginController.php, 中,我为下面的不同post request variables 启动了一个会话,其中会话代码位于经过身份验证的 auth 函数内。
protected function authenticated(Request $request, User $user){
$request->session()->put('param1',$param1);
$request->session()->put('param2',$param2);
$request->session()->put('param3',$param3);
.....
}
我可以像这样在不同的控制器中轻松访问这些会话
$request->session()->get('param1')
我也在注销触发时放置了这段代码..
session()->flush();
但我还需要保护我的route,如果这些session exists 或not
如果会话不存在,我要做的是不允许用户访问这些路由 web.php
Route::group(['middleware'=> ['auth']], function(){
Route::get('/pay', 'PayController@index');
Route::post('pay/getReceipt', 'PayController@getReceipt')->name('getReceipt');
....
});
【问题讨论】:
-
laravel 确实有 StartSession 中间件。如果您的路由调用该中间件,则每次请求都会启动会话