无法访问某些路由,因为中间件
can't access some route because middleware
我是 Laravel 的新人,目前正在学习一些教程。在那些教程中,我创建了一些名为 Admin 的中间件,在 Admin 中间件中,我编写了如下代码:
if (Auth::user() && Auth::user()->admin == 1) {
Session::flash('success','U do not have access to this menu');
return back();
}
在我的路线中我是这样设置的:
Route::get('/users/{id}/makeadmin', 'UsersController@admin')->name('users.makeadmin')->middleware('admin');
好吧,对于非管理员来说它是成功的,但是当使用管理员时我被阻止了,尽管在用户 table 中我已经将管理员设置为 1。所以我是遗漏了什么还是我做错了?我目前正在使用 laravel 5.5。
啊抱歉这太蠢了,我忘了放“!”这就是为什么我无法访问该路线,尽管它已经是管理员。所以这就是我所做的。
if (!Auth::user() && Auth::user()->admin !== 1) {
Session::flash('success','U do not have access to this menu');
return back();
}
在你的中间件中试试这个:
public function handle($request, Closure $next)
{
if ( Auth::check() && Auth::user()->admin == 1)
return $next($request);
Session::flash('success','U do not have access to this menu');
return back();
}
我是 Laravel 的新人,目前正在学习一些教程。在那些教程中,我创建了一些名为 Admin 的中间件,在 Admin 中间件中,我编写了如下代码:
if (Auth::user() && Auth::user()->admin == 1) {
Session::flash('success','U do not have access to this menu');
return back();
}
在我的路线中我是这样设置的:
Route::get('/users/{id}/makeadmin', 'UsersController@admin')->name('users.makeadmin')->middleware('admin');
好吧,对于非管理员来说它是成功的,但是当使用管理员时我被阻止了,尽管在用户 table 中我已经将管理员设置为 1。所以我是遗漏了什么还是我做错了?我目前正在使用 laravel 5.5。
啊抱歉这太蠢了,我忘了放“!”这就是为什么我无法访问该路线,尽管它已经是管理员。所以这就是我所做的。
if (!Auth::user() && Auth::user()->admin !== 1) {
Session::flash('success','U do not have access to this menu');
return back();
}
在你的中间件中试试这个:
public function handle($request, Closure $next)
{
if ( Auth::check() && Auth::user()->admin == 1)
return $next($request);
Session::flash('success','U do not have access to this menu');
return back();
}