laravel-permission 是不是有缓存,我移除用户权限,还是能请求到
这是我在中间件里面写的判断权限的代码
try {
$route_name = $request->route()->getName();
$user = auth()->user();
$role = $user->getRoleNames();
foreach ($role as $key=>$value){
$r = Role::where(['name'=>$value])->first();
if(!$r->hasPermissionTo($route_name)){
return $this->error('你还没有此权限');
}
}
return $next($request);
}catch (PermissionDoesNotExist $e){
return $this->error('你还没有此权限');
}
这是我赋予权限的代码
$data = $request->all();
if(!$data['authIds']){
return $this->error('请选择权限');
}
$route_name_list = $lifeSystemMenuModel->whereIn('id',explode(',',$data['authIds']))->select('route_name')->get();
$route_name = [];
foreach ($route_name_list as $key=>$value){
if(!empty($value['route_name'])){
$route_name[] = $value['route_name'];
}
}
$role = $role->find($data['role_id']);
$role->syncPermissions($route_name);
return $this->success('赋予权限成功');
推荐文章: