我是Laravel的新手,我正在学习一些教程。在那些教程中,我创建了一些名为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');
非管理员的成功,但是当使用管理员时我被阻止了,尽管在用户表中我已经将管理员设置为1.所以我错过了什么或者我做错了吗?我目前正在使用laravel 5.5。
答案 0 :(得分:0)
if (!Auth::user() && Auth::user()->admin !== 1) {
Session::flash('success','U do not have access to this menu');
return back();
}
答案 1 :(得分:0)
在中间件中试试这个:
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();
}