【发布时间】:2021-03-24 21:26:58
【问题描述】:
我在使用 Laravel 身份验证中间件时遇到了一些问题。
因为我希望这个中间件每次都运行,所以我创建了新的中间件并将其添加到 API 中的$middlewareGroups。
我的中间件如下所示:
if ($request->path() === 'api/auth/signin' OR 'api/canLogin' OR 'api/check') {
return $next($request);
}
elseif (!Auth::check()){
return response()->json(['response' => false, 'status' => 403, 'message' => 'Not Authenticated'], 403);
}
奇怪的是第一次确实有效(我不知道如何),但现在没有了。它总是将我重定向到 public.html(因为我没有登录视图)。
我知道最简单的方法是将该中间件添加到每个受保护的路由中,但我希望它每次都运行。
无论如何,我的路由都使用 auth 中间件(比如 Route::group(['middleware' => ['auth:api']] ),如果我删除这个中间件,它会给我相同的 index.html
【问题讨论】:
-
为什么你创建了一个新的中间件而不是使用 laravel one?