一、注册
比如后台的用户、角色、权限都定义完成.
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);