|
...
|
...
|
@@ -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);
|
|
|
|
}
|
|
|
|
|
|
|
|
} |
...
|
...
|
|