在authserviceprovider中使用GATE ::像下面的启动功能
Gate::before(function (Admin $user, $ability) {
if ($user->isSuperAdmin('Super-admin')){
return true;
}
});
然后在管理模型中给出定义issuperadmin((方法
public function isSuperAdmin($ability){
foreach (auth()->user()->roles as $role){
foreach ($role->permissions as $permission){
return $permission->name == $ability;}}}
,但是超级速度仍然限制
Gate::before(function (Admin $user, $ability) {
return $user->hasRole('Super-admin') ? true : null;
});
我认为这足够了。无需进行操作,权限检查,额外功能。