作者 lyh

gx

... ... @@ -32,6 +32,7 @@ class LoginAuthMiddleware
return response(['code'=> Code::USER_LOGIN_ERROE,'msg'=>'当前用户被禁用']);
}
}
//TODO::查看当前角色是否被禁用
return $next($request);
}
}
... ...
... ... @@ -26,17 +26,56 @@ class LoginAuthMiddleware
if(empty($info) || empty($token)){
return response(['code'=>Code::USER_LOGIN_ERROE,'msg'=>'当前用户未登录']);
}
$role_info = $this->setRole($info);
//获取当前操作的控制器与方法
$action = $request->route()->getAction();
//查询当前用户是否拥有权限操作
$this->viewOperateAuth($role_info,$action);
//配置数据库
$this->setProject($info);
return $next($request);
}
/**
* @remark :设置数据库
* @name :setProject
* @author :lyh
* @method :post
* @time :2023/7/28 14:52
*/
public function setProject($info){
// 设置数据信息
$project = ProjectServer::useProject($info['project_id']);
if(empty($project)){
return response(['code'=>Code::USER_LOGIN_ERROE,'msg'=>'数据库未配置']);
}
}
/**
* @remark :查看角色权限
* @name :setRole
* @author :lyh
* @method :post
* @time :2023/7/28 14:53
*/
public function setRole($info){
//操作权限设置
$projectRoleModel = new ProjectRoleModel();
$role_info = $projectRoleModel->read(['id'=>$info['role_id']]);
//获取当前操作的控制器与方法
$action = $request->route()->getAction();
//查询当前用户是否拥有权限操作
if($role_info['status'] != 0){
return response(['code'=>Code::USER_LOGIN_ERROE,'当前用户角色被禁用']);
}
return $role_info;
}
/**
* @remark :查看操作权限
* @name :viewOperateAuth
* @author :lyh
* @method :post
* @time :2023/7/28 14:56
*/
public function viewOperateAuth($role_info,$action){
$projectMenuModel = new ProjectMenu();
$menu_id = $projectMenuModel->read(['action'=>$action['as']],['id']);
if($menu_id !== false){
... ... @@ -44,7 +83,5 @@ class LoginAuthMiddleware
return response(['code'=>Code::USER_LOGIN_ERROE,'msg'=>'当前用户没有权限']);
}
}
return $next($request);
}
}
... ...