archery修改为不能自提自审核上线SQL

news2024/10/6 12:25:57

目录

    • 背景
    • 修改代码
    • 效果
    • 参考

背景

  • 我和同事都可以提交上线SQL,但是不能自己提交的SQL自己去审核通过。
  • 目前的情况是可以自提自审。
    在这里插入图片描述

修改代码

  • 找到/opt/archery/sql/utils/workflow_audit.py文件
...省略...
     # 判断用户当前是否是可审核
    @staticmethod
    def 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_id
        result = 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_audit
                audit_auth_group = Group.objects.get(id=auth_group_id).name
            except 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 = True
                elif workflow_type == 2:
                    if user.has_perm("sql.sql_review"):
                        result = True
                elif workflow_type == 3:
                    if user.has_perm("sql.archive_review"):
                        result = True

        if 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 非常感谢这位大佬

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1233408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows如何查看自己的ip地址

windows如何查看自己的ip地址 1.打开控制面板 2.进入网络和internet 3.进入网络共享中心 4.点击以太网进入网络详情页,或邮件已连接的网络,点击属性 5.查看ipv4地址就是当前机器ip

prometheus基本介绍 prometheus和zabbix的区别 grafana可视化工具

一、 promethues概念prometheus介绍promethues的特点prometheus的工作原理prometheus的架构 二、promethues和zabbix的区别三、prometheus安装部署prometheus下载安装prometheus启动浏览器访问查看暴露指标将Prometheus配置为systemd管理 配置node_exporter监控项node_promethe…

深入探讨软件测试技术:方法、工具与最佳实践

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 引言 软件测试是软件开发生命周期中至关重要的…

微信小程序会议OA-登录获取手机号流程登录-小程序导入微信小程序SDK(从微信小程序和会议OA登录获取手机号到登录小程序导入微信小程序SDK)

目录 获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties …

对OpenAI CEO奥特曼突然被解雇事件的一些分析

今天也来凑个热闹,说说OpenAI的事。本来不想写的,但是看到自媒体又开始胡说八道,所以根据我自己得到的消息和理解说一说我的看法,这篇文章要是有个小姐姐解说录成视频,那肯定火了,但是我现在没资源&#xf…

OpenAI政变背后是科学家创始人的悲歌

OpenAI政变背后是科学家创始人的悲歌 去年11月突然推出ChatGPT震惊世界的OpenAI,在整整一年后以闪电解职CEO再次震惊世界。 有不少人以为这拿的是乔布斯的剧本,错了,这其实是天才科学家奋力一击的故事。 OpenAI的灵魂人物不是CEO Sam Al…

Vue3入门(与Vue2进行对比)

1. Vue2 选项式 API vs Vue3 组合式API 特点: 代码量变少分散式维护变成集中式维护 2. Vue3的优势 使用create-vue搭建Vue3项目 1. 认识create-vue create-vue是Vue官方新的脚手架工具,底层切换到了 vite (下一代前端工具链)&…

2023APMCM亚太杯/小美赛数学建模竞赛优秀论文模板分享

一、模板介绍 二、注意事项 将论文划分小节时,应避免在小节中出现大段的文字叙述,这样的叙述会妨碍评委在浏览论文时掌握论文的要点。重要的句子,包括首次定义的概念,用黑体书写。 重要的数学公式应另起新行单独列出。建模所用的…

使用activiti部署提示不是 ‘NCName‘ 的有效值

排查发现是整个流程图的,流程名称没有填写 修改之后就可以了

Redis篇---第十二篇

系列文章目录 文章目录 系列文章目录前言一、Memcache与Redis的区别都有哪些?二、单线程的redis为什么这么快三、redis的数据类型,以及每种数据类型的使用场景前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇…

大数据基础设施搭建 - Kafka(with ZooKeeper)

文章目录 一、简介二、单机部署2.1 上传压缩包2.2 解压压缩包2.3 修改配置文件(1)配置zookeeper地址(2)修改kafka运行日志(数据)存储路径 2.4 配置环境变量2.5 启动/关闭2.6 测试(1)查看当前服务器中的所有…

Wireshark的数据包它来啦!

通过Wireshark工具,可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息,通常分七栏,介绍一下: 1No.: 数据包编号。 2.Time Time显示时间,以1号数据包发生开始计时。 3.Source Source显示内容…

零基础想系统地学习金融学、量化投资、数据分析、python,需要哪些课程、书籍?有哪些证书可以考?

曾经我也是零基础小白,题主想走的路,我已经走过啦~作为一名CFA持证人和管理因子投资的量化策略的投资组合经理,我把这些年积累的干货跟大家分享。 量化投资是金融学的一部分,量化投资(跟量化交易的概念有部…

从入门到精通,mac电脑录屏软件使用教程!

“mac电脑怎么录屏呀,刚买了一台mac电脑,用了几个月感觉挺流畅的,最近因为工作原因,需要用到录屏功能,但是我不会操作,想问问大家有没有简单易懂的录屏教程,谢谢啦。” 在日常生活中&#xff0…

使用遗传算法优化的BP神经网络实现自变量降维

大家好,我是带我去滑雪! 在现实生活中,实际问题很难用线性模型进行描述。神经网络的出现大大降低了模型建立的难度和工作量。只需要将神经网络当作一个黑箱子,根据输入和输出数据,神经网络依据相关的学习规则&#xff…

腾讯云轻量应用服务器三年租用价格表_免去续费困扰

腾讯云服务器续费贵所以一次性买3年或5年,腾讯云轻量应用服务器3年价格有优惠,CVM云服务器5年有特价,腾讯云3年轻量和5年云服务器CVM优惠活动入口,3年轻量应用服务器配置可选2核2G4M和2核4G5M带宽,5年CVM云服务器可以选…

米诺地尔行业分析:预计2029年将达到14亿美元

米诺地尔市场规模庞大,不仅包括消费品市场和服务行业,还涵盖了创新科技领域。随着经济的发展和市场需求的不断增长,米诺地尔市场的规模将继续扩大,各行各业都将面临更多机遇和挑战。 随着社会经济发展和城市化进程的推进&#xff…

无服务器开发实例|微服务向无服务器架构演进的探索

在当今的技术环境中,许多组织已经从构建单一的应用程序转变为采用微服务架构。微服务架构是将服务分解成多个较小的应用程序,这些应用程序可以独立开发、设计和运行。这些被拆分的小的应用程序相互协作和通信,为用户提供全面的服务。在设计和…

Ant Design Vue 树形表格计算盈收金额

树形表格计算 一、盈收金额计算1、根据需要输入的子级位置,修改数据2、获取兄弟节点数据,并计算兄弟节点的金额合计3、金额合计,遍历给所有的父级 一、盈收金额计算 1、根据需要输入的子级位置,修改数据 2、获取兄弟节点数据&am…

全面解析IEC 60364三种接地系统的概念、特点及应用

根据IEC 60364规定的各种保护方式、术语概念,低压配电系统按接地方式的不同分为三类,即 TT 、 TN 和 IT 系统。 1.TT系统TT grounding system TT供电系统:是指将电气设备的金属外壳直接接地的保护系统,称为保护接地系统&#xff…