【发布时间】:2019-08-02 00:26:34
【问题描述】:
我是 laravel 的新手,我已经为我的每个角色创建了中间件,但是当我将它添加到我的路由时它就不起作用了。
如果我将单个中间件添加到我的路由中,它可以正常工作,但是当我添加第二个和第三个时,它将无法正常工作。
它不会显示到授权user 的路线,而是将其重定向到家,
我的用户模型:
public function IsAdmin()
{
if($this->role_id =='1')
{
return true;
}
else
{
return false;
}
}
public function IsManager()
{
if($this->role_id =='2')
{
return true;
}
else
{
return false;
}
}
public function IsUser()
{
if($this->role_id =='3')
{
return true;
}
else
{
return false;
}
}
我的内核:
'IsAdmin' => \App\Http\Middleware\IsAdmin::class,
'IsManager' => \App\Http\Middleware\IsManager::class,
'IsUser' => \App\Http\Middleware\IsUser::class,
我的 IsAdmin 中间件:
public function handle($request, Closure $next)
{
$user =Auth::User();
if(!$user->IsAdmin())
{
return redirect('stock');
}
return $next($request);
}
我的 IsManager
public function handle($request, Closure $next)
{
$user =Auth::User();
if(!$user->IsManager())
{
return redirect('stock');
}
return $next($request);
}
和IsUser
public function handle($request, Closure $next)
{
$user =Auth::User();
if(!$user->IsUser())
{
return redirect('stock');
}
return $next($request);
}
最后是我的路线
Route::get('approv',['middleware'=>['IsManager','IsAdmin'],function(){
return view('approv');
}]);
【问题讨论】:
-
错误是什么?你只是说我不工作?你看到了什么,你期待什么?
-
它不会向授权用户显示路由,而是将其重定向到股票页面
标签: php laravel eloquent laravel-middleware