Laravel - 中间件在不应该触发的情况下触发?

Laravel - Middleware triggered while it should not?

我正在使用 Laravel 5.4Vuejs 2.3 以及 VueRouter

我的网站由两部分组成

  1. example.com
  2. 示例。com/tools

问题

如果我在 example.com/tools 并且如果我 reload the page 到相同的地址 example.com/tools 中间件 checkUsersPublic 被触发,而它只链接到 /.

编辑

如果我从 VueRouter.js 中删除 { path: '/tools', component: Stats },则不再触发中间件

问题


Laravel

中的路线
Route::get('/', 'HomeController@home')->middleware('checkUserPublic')
Route::get('/tools', 'StatsController@home')->middleware('checkUserStats')

Vue 路由器

const routes = [
    { path: '/', component: App },
    { path: '/tools', component: Stats },
];

中间件checkUsersPublic

class checkUsersPublic
{
    public function handle($request, Closure $next)
    {
        if(auth()->check() && auth()->user()->public_only) {
            return $next($request);
        }
        if(Auth::check()) {Auth::logout();}
        return $next($request);
    }
}

我没有在 Laravel 中做中间件,而是在 beforeEnter 守卫

中做的 vue-router