在我的项目中,前端和后端在同一个laravel项目中,当管理员登录时,在这种情况下,如果它有活跃的会话,管理员用户去项目的前端,我想限制URL的管理员用户从不去前端,而他的会话是活跃的帮助我。
Route::get ('/shopping','FrontendController@index')->name('shopping.home'); 当管理员用户会话处于活动状态时,我想限制此URL。
前端的其他路由
Route::group(['middleware'=>['frontlogin']], function() {
Route::get ('/shopping/product','FrontendController@product')->name('shopping.product');
Route::get ('/shopping/login','FrontendController@login')->name('shopping.login');
}中间件
public function handle($request, Closure $next)
{
if(empty(Session::has('frontSession'))) {
return redirect()->route('shopping.login');
}
return $next($request);
}发布于 2019-11-18 15:06:56
检查config/auth.php文件。
您可以在那里定义自定义身份验证保护。只需在此处定义您的保安名称、驱动程序和提供商即可。
'guards' => [
'frontlogin' => [
'driver' => 'session',
'provider' => 'users',
],
],'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'users'
],
],您可以选中Laravel身份验证here
发布于 2019-11-18 15:37:24
无论您何时登录admin,都需要添加您的frontlogin中间件正在检查的会话密钥frontSession:
Session::set('frontSession', true);否则,您将需要想出一种不同的机制来过滤谁无法到达那些受frontlogin保护的路由。
https://stackoverflow.com/questions/58909451
复制相似问题