Laravel控制角色和权限的最佳位置

时间:2017-07-26 11:34:14

标签: laravel

我从spatie / laravel-permission开始。我可以将权限用于我的刀片。工作良好。我想要的是在更高的层次上控制它。所以我不必在每个create.blade.php

中使用它
@can('add users') or @hasrole('administrator')

我在哪里以及如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

解决方案是一个中间件:

public function handle($request, Closure $next, $role, $permission=null)
{
    if(Auth::user()){
        if($request->user()->can(\Request::route()->getName())===false){
            return response(view('noaccess'));
        }
    }

    return $next($request);
}

user has permission table

persmissions table