一、注冊
比如后臺的用戶、角色、權(quán)限都定義完成.
AuthServiceProvider文件里面注冊:
目標:有多少權(quán)限注冊多少Gate,達到管理權(quán)限的目的
門衛(wèi)是針對用戶來說的
public function boot()
{
$this->registerPolicies();
$permissions = \App\Http\Model\AdminPermission::all();
foreach($permissions as $permission){
//以權(quán)限名字來定義。后面判斷是否有這個權(quán)限。$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);