【发布时间】:2018-05-04 15:24:42
【问题描述】:
我正在尝试为路由组编写一个中间件,以仅允许 is_admin 为 1 的用户,但是当我使用一个用户和管理员访问该路由时,会显示错误消息:
此页面无法正常工作
localhost 重定向您的次数过多。
这是我的中间件:
public function handle($request, Closure $next)
{
if ($request->user()->is_admin === 1) {
return redirect('/cms');
}
return redirect('/contacts');
}
我在位于Kernel.php 的$middlewareGroups 中创建了一个“cms”键:
'cms' => [
\App\Http\Middleware\AdminMiddleware::class,
]
并将其分配给我的路由组:
Route::group(['middleware' => 'cms'], function() {
Route::get('/cms', 'CmsController@index')->name('cms');
});
访问/contacts 工作正常,但访问/cms 会导致上述错误。
【问题讨论】:
-
你是说.. 如果 /cms 然后重定向到 /cms,它会重新运行中间件,该中间件将重定向到 /cms 等
标签: php laravel-5.5 laravel-middleware