【原創】SQL審核系統


前言

應公司dba的需求,做了一個sql審核並可以執行、記錄的系統,整個系統有三種角色:
DBA(需要管理員手動登記)
運維人員(需要管理員手動登記)
開發人員(默認注冊后用戶)
權限分配如下:

一些功能展示

先要感謝前任武大神留下的前端模板,在后續的開發節省了大量的時間,我也就拿過來直接用了。
由於是在公司使用的代碼,源碼不能開源,下邊是一些展示截圖,后續會把這個系統涉及到的一些自認為關鍵的知識點整理出來,分享一部分代碼。

  • 登錄界面
  • 注冊界面
  • 忘記密碼

    注冊、忘記密碼這塊可以通過郵箱拿到一個驗證碼,然后通過驗證碼來進行驗證,后邊博客會詳細介紹這塊代碼的實現。
    生成隨機驗證碼的部分參考我之前的博客http://www.cnblogs.com/caseast/p/4797930.html ,驗證碼插件部分
  • 登錄后的首頁展示

    這個是權限最大的DBA用戶的頁面,開發、運維會略有不同,功能要少一些 都是傻瓜式的操作,確認sql即為dba審核,審核后運維才可以在生產上執行。另外還專門為dba提供了一個預發布環境,用於上線前,DBA可以現在預發布環境跑一遍sql,之后再通過審核。邏輯圖如下
  • 提交新增sql


    會對開發提交的sql做一個正則匹配,不同的方向包含的庫不同,如果提交的語句使用的庫名不在方向列表中,會進行提示,另外如果sql中有一些危險語法,也會做初級的判斷,不允許提交。
  • sql高亮提示
  • 變更流程展示
  • 執行過程展示

    執行完畢后會在已上線SQL日志中進行展示,啟動的任務由celery+redis異步進行分發處理
  • 執行結果展示
  • 支持多條件聯合搜索

總結

目前這套系統已經部署上線,投入使用了,比起之前的審核系統,主要加入了較全面的日志記錄和預發布功能。部分代碼分析還請等待后邊的博客。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM