diff --git a/sql/query.py b/sql/query.py index 48bfac7b20..2e2bc62382 100644 --- a/sql/query.py +++ b/sql/query.py @@ -74,7 +74,7 @@ def query(request): limit_num = priv_check_info['data']['limit_num'] priv_check = priv_check_info['data']['priv_check'] else: - result['status'] = 1 + result['status'] = priv_check_info['status'] result['msg'] = priv_check_info['msg'] return HttpResponse(json.dumps(result), content_type='application/json') # explain的limit_num设置为0 diff --git a/sql/query_privileges.py b/sql/query_privileges.py index 39a3de9d55..9257e23071 100644 --- a/sql/query_privileges.py +++ b/sql/query_privileges.py @@ -72,7 +72,8 @@ def query_priv_check(user, instance, db_name, sql_content, limit_num): # 既无库权限也无表权限则鉴权失败 if not _db_priv(user, instance, table['schema']) and \ not _tb_priv(user, instance, table['schema'], table['name']): - result['status'] = 1 + # 没有库表查询权限时的staus为2 + result['status'] = 2 result['msg'] = f"你无{table['schema']}.{table['name']}表的查询权限!请先到查询权限管理进行申请" return result # 获取查询涉及库/表权限的最小limit限制,和前端传参作对比,取最小值 @@ -99,7 +100,8 @@ def query_priv_check(user, instance, db_name, sql_content, limit_num): # 校验库权限,无库权限直接返回 for db_name in dbs: if not _db_priv(user, instance, db_name): - result['status'] = 1 + # 没有库表查询权限时的staus为2 + result['status'] = 2 result['msg'] = f"你无{db_name}数据库的查询权限!请先到查询权限管理进行申请" return result # 有所有库权限则获取最小limit值 diff --git a/sql/templates/sqlquery.html b/sql/templates/sqlquery.html index 5cf58c8b1f..cb44c39b81 100644 --- a/sql/templates/sqlquery.html +++ b/sql/templates/sqlquery.html @@ -835,7 +835,15 @@