Laravel的Gate来控制权限

一、注册
比如后台的用户、角色、权限都定义完成.

AuthServiceProvider文件里面注册:
目标:有多少权限注册多少Gate,达到管理权限的目的
门卫是针对用户来说的

public function boot()
    {
        $this->registerPolicies();

        $permissions = \App\Http\Model\AdminPermission::all();
        foreach($permissions as $permission){
            //以权限名字来定义。后面判断是否有这个权限。$user是必须的代表用户
            Gate::define($permission->name,function($user)use($permission){
                return $user->hasPermission($permission);
            });
        }
    }

二、用法
1、路由用法:

Route::group(['middleware'=>'can:system'],function(){
     、、、
});

2、模板用法:

@can('system')
@endcan

3、控制器用法:

$this->authorize('system',$user);

你可能感兴趣的:(Laravel的Gate来控制权限)