【原创】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异步进行分发处理
  • 执行结果展示
  • 支持多条件联合搜索

总结

目前这套系统已经部署上线,投入使用了,比起之前的审核系统,主要加入了较全面的日志记录和预发布功能。部分代码分析还请等待后边的博客。

posted @ 2016-08-26 11:06  三流码农  阅读(6732)  评论(10编辑  收藏  举报