[英]Routes: Check if session exists in Laravel
因此,在我的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();
但是如果这些session exists
或not
session exists
我也需要保护自己的route
我想做的是,如果会话不存在,则不允许用户不访问这些路由web.php
Route::group(['middleware'=> ['auth']], function(){
Route::get('/pay', 'PayController@index');
Route::post('pay/getReceipt', 'PayController@getReceipt')->name('getReceipt');
....
});
创建一个中间件,检查这些会话参数是否存在,然后在其中包装路由。
public function handle($request, Closure $next)
{
if (Session::has('your_params')) {
return $next($request);
}
return redirect()->back();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.