【发布时间】:2017-07-26 12:34:43
【问题描述】:
我创建了我的中间件,并在 Kernel.php(middlewareGroups 和 routeMiddleware 数组)中注册了它,但它什么也没做。
Kernel.php/middlewareGroups
'CheckAdmin' => [
\App\Http\Middleware\CheckUserIfAdmin::class,
],
Kernel.php/routeMiddleware
'CheckAdmin' => \App\Http\Middleware\CheckUserIfAdmin::class,
web.php
Route::group(['middleware' => ['CheckAdmin']], function () {
Route::get('/admin', [
'uses' => 'AdminController@index',
'as' => 'adminpage'
]);
});
我的中间件:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckUserIfAdmin
{
public function handle($request, Closure $next)
{
if(Session::has('ad_id') === false):
return redirect()->route('admin.login');
endif;
return $next($request);
}
}
【问题讨论】:
-
有什么错误吗?
-
@GovindSamrow 不,正如我所说,它什么也没做
-
什么都不做是什么意思?中间件不是在执行吗?如果您不确定,请尝试将
dd(1);之类的内容作为handle()方法的第一行,以查看该方法是否正在执行。 -
尝试在中间件中
handle方法顶部的dd($request);。 -
我试过 dd($request) 还是没有
标签: php laravel middleware