Browse Source

用户菜单接口请求权限5

master
wanghongjun 1 month ago
parent
commit
84c529aa02
  1. 28
      app/Http/Middleware/CheckPermission.php

28
app/Http/Middleware/CheckPermission.php

@ -22,15 +22,16 @@ class CheckPermission
{
if (Auth::guard('sanctum')->check()) {
$action = $request->route()->getCompiled()->getStaticPrefix();
$method = $request->route()->getActionMethod();
$user = Auth::guard('sanctum')->user();
$user_id = $user->id;
// $uriArr = AdminMenuService::auth($user_id);
// if ($this->passedOrNot($action, $uriArr)) {
// return (new ApiResponseService())->error(
// __('middleware.check.user_auth'),
// 400
// );
// }
$uriArr = AdminMenuService::auth($user_id);
if ($this->passedOrNot($action, $uriArr, $method)) {
return (new ApiResponseService())->error(
__('middleware.check.user_auth'),
400
);
}
}
return $next($request);
}
@ -38,9 +39,10 @@ class CheckPermission
/**
* @param $action
* @param $uriArr
* @param $targetMethod
* @return bool
*/
protected function passedOrNot($action, $uriArr): bool
protected function passedOrNot($action, $uriArr, $targetMethod): bool
{
$search = '/api/admin/';
$action = str_replace($search, '', $action);
@ -54,13 +56,21 @@ class CheckPermission
$method = $actionArr[1] ?? '';
$newAction = $actionArr[0] ?? '';
// 短写法接口
if (empty($method)) {
$targetAction = $newAction . '.' . $targetMethod;
if (in_array($targetAction, $uriArr)) {
return false;
}
}
// 特殊
if (in_array($newAction, ['logout', 'me', 'menu'])) {
return false;
}
// 特殊
if (in_array($method, ['rule', 'import', 'search'])) {
if (in_array($method, ['rule', 'uploadImage', 'search'])) {
return false;
}

Loading…
Cancel
Save