登录Laravel 7后,阻止用户访问访客页面

时间:2020-09-06 18:38:03

标签: laravel-7

有什么方法可以阻止用户登录后访问访客页面?我尝试使用来宾中间件bt没有任何反应。我有两组警卫:RESTAURANT和CUSTOMERS。客户登录后,我不希望他们在注销前访问访客页面。

Route::group(['middleware' => 'guest'], function () {
    Route::get('/home', 'HomeController@index')
        ->name('home'); // This is a guest page
});

我的客户页面也受到客户保护的保护。

Route::name('customer.')->middleware(['auth:customer', 'verified'])
    ->group(function () {
    Route::get('/logout', 'Auth\CustomerLoginController@logout')->name('logout');
});

首先,我以客户保护人员身份登录。之后,当我键入“ / home”时,正在加载主页。我想阻止已登录的用户访问访客页面。

2 个答案:

答案 0 :(得分:1)

创建一个中间件并在其中执行以下代码。

if (Auth::user()){
// if user HAS authenticated already,
// redirect him to somewhere or die(),
// or any other appropriate action
}

在路由上应用中间件

Route::group(['middleware' => ['guest','middlewareName']], function () {
    Route::get('/home', 'HomeController@index')
        ->name('home'); // This is a guest page
});

它将起作用

答案 1 :(得分:0)

为什么不只在来宾页面上使用Auth::user()检查?

if (Auth::user()){
// if user HAS authenticated already,
// redirect him to somewhere or die(),
// or any other appropriate action
}
相关问题