本文主要是介绍archery修改为不能自提自审核上线SQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 背景
- 修改代码
- 效果
- 参考
背景
- 我和同事都可以提交上线SQL,但是不能自己提交的SQL自己去审核通过。
- 目前的情况是可以自提自审。
修改代码
- 找到
/opt/archery/sql/utils/workflow_audit.py
文件
...省略...# 判断用户当前是否是可审核@staticmethoddef can_review(user, workflow_id, workflow_type):audit_info = WorkflowAudit.objects.get(workflow_id=workflow_id, workflow_type=workflow_type)group_id = audit_info.group_idresult = False# 只有待审核状态数据才可以审核if audit_info.current_status == WorkflowDict.workflow_status["audit_wait"]:try:auth_group_id = Audit.detail_by_workflow_id(workflow_id, workflow_type).current_auditaudit_auth_group = Group.objects.get(id=auth_group_id).nameexcept Exception:raise Exception("当前审批auth_group_id不存在,请检查并清洗历史数据")if (auth_group_users([audit_auth_group], group_id).filter(id=user.id).exists()or user.is_superuser == 1):if workflow_type == 1:if user.has_perm("sql.query_review"):result = Trueelif workflow_type == 2:if user.has_perm("sql.sql_review"):result = Trueelif workflow_type == 3:if user.has_perm("sql.archive_review"):result = Trueif group_id in [1, 2]: # 增加create_user = audit_info.create_user # 增加if create_user == user.username: # 增加result = False # 增加return result
... 省略...
group_id
是资源组ID
- 我这边使用docker运行,把·workflow_audit.py·文件替换就好。运行以下命令。
docker cp workflow_audit.py archery:/opt/archery/sql/utils/
- 然后重启
docker restart archery
效果
- 现在我自己的帐户就没有审批自己提交SQL的权限了,如下图所示。
- 登录别人的账号有审核的权限,如下图所示。
参考
- https://blog.csdn.net/line_on_database/article/details/123847361 非常感谢这位大佬
这篇关于archery修改为不能自提自审核上线SQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!