do_mg是基于tornado框架 restful风格的API 实现后台管理,搭配使用admin-front前端(iView+ vue)组成的一套后台用户 权限以及系统管理的解决方案(提供登录,注册 密码修改 鉴权 用户管理 角色管理 权限管理 前端组件管理 前端路由管理 通知服务API 系统基础信息接口) 本项目为open-ops开源项目提供后台支持,也可以基于此项目基础项目开发自己的站点,更多基础功能还在不断开发中,如果想要查看更新动态,你可以到更新日志查看最新更新,如果你是新手想快速部署,你可以去部署文档 查看
-
登录/登出 (支持谷歌动态码)
-
密码修改
-
鉴权 /权限刷新
-
用户管理 用户系统基于RBAC模型的
-
角色管理
-
权限管理 (后端路由)基于角色
-
菜单管理(前端路由)基于角色
-
组件管理(前端组件)基于角色
-
通知管理 (提供发送短信,发送邮件API)
-
系统配置 (后端api地址,短信配置,邮件配置,存储配置,邮箱登录等等)
-
系统日志 (从API网关获取日志,当然也可以自行从基类获取)
├── doc
│ ├── data.sql
│ ├── deployment.md
│ ├── nginx_ops.conf
│ ├── requirements.txt
│ └── supervisor_ops.conf
├── docker-compose.yml
├── Dockerfile
├── __init__.py
├── libs
│ ├── base_handler.py
│ ├── __init__.py
│ ├── my_verify.py
│ └── utils.py
├── mg
│ ├── applications.py
│ ├── handlers
│ │ ├── app_mg_handler.py
│ │ ├── app_settings_handler.py
│ │ ├── components_handler.py
│ │ ├── configs_init.py
│ │ ├── functions_handler.py
│ │ ├── __init__.py
│ │ ├── login_handler.py
│ │ ├── menus_handler.py
│ │ ├── notifications_handler.py
│ │ ├── roles_handler.py
│ │ ├── users_handler.py
│ │ └── verify_handler.py
│ ├── __init__.py
│ └── subscribe.py
├── models
│ ├── admin.py
│ ├── app_config.py
│ ├── __init__.py
├── README.md
├── settings.py
└── startup.py
这部分文档主要用来介绍用户管理,它可以很精细的管理你的用户权限
用户列表:顾名思义,用来管理和展示用户的列表,记录用户的详细信息
功能支持
- 搜索用户
- 新建用户
- 删除用户
- 关闭用户
- 重置密码
- 重置MFA(Google Authenticator)
展示界面
用来详细配置管理每个接口的权限,默认不需修改。
注意事项
- 系统默认已经配置了所有权限和方法,管理员默认拥有
/
权限,无需修改,以免造成系统请求某功能出错
功能说明
-
支持多种搜索方式,如:权限名称、请求路径、请求方法、时间等
-
支持新增、编辑、关闭、删除等操作权限的管理
-
支持新增自定义权限功能,适用于开发人员编写的API接口能很方便的接入进来权限管理划分
-
一些详细的API及使用文档正在支持更新中............
菜单组件:顾名思义,也就是导航栏所看到的功能模块(如:用户管理、系统管理)和一些功能按钮(如:编辑、删除按钮),默认无需修改
注意事项
- 系统默认已经配置了所有菜单功能模块及组件,无需修改此项,以免造成访问出错。
功能介绍
列举以下几个菜单和组件进行介绍,字面英语也可看出含义,如下:
- home:家目录
- usermanage:用户管理
- cron:定时任务
- edit_button:编辑按钮
由于代码层面不好直接使用中文,你可以选择平台语言English
,如下图,很清晰看到每个作用。
基于RBAC角色管理访问控制权限,可以很精细/方便的管理你的用户权限
功能介绍
-
角色的搜索、编辑、关闭、删除
-
自定义角色名字,自定义赋权组件、菜单、权限管理
-
列表可搜索赋权设计,方便用户可视化操作
示例介绍分为两部分,创建管理员用户赋权和创建普通用户赋权
新建用户
同上,填写信息即可,详细权限管理全部在角色管理配置
用户赋权
新增用户
点击用户列表---新增用户,输入信息
用户赋权
点击角色管理---新建,输入角色信息,选择角色进行赋权
这部分主要介绍系统配置,系统管理模块主要分为:
系统配置
和系统日志
系统配置主要介绍系统参数配置,后续后陆续支持各种核心功能配置
系统配置
这块需要配置你的API地址,部署时你API网关服务所部署的服务器地址,只有确认了API网关,各个功能模块才可以正常通信。
- API地址: 你的API网关地址,可以是IP/域名,必填项。 API网关部署
邮件设置
这块主要配置邮箱,配置了此邮箱信息后,后续平台内所涉及到邮件提醒都会使用此邮箱配置。
不同运营商配置可参考FAQ
中邮箱设置问题
- SMTP主题: 邮件标题
- SMTP主机: 服务器地址
- SMTP端口: 服务器端口
- SMTP账户: 邮箱账户名
- SMTP密码: 邮箱账户密码
- 如果SMTP端口是465,通常需要启用SSL
- 如果SMTP端口是587,通常需要启用TLS
- 点击测试邮件会给当前用户发送一封邮件用于测试
短信接口
这块主要配置短信接口信息,短信接口只支持阿里云
阿里大鱼
,后续平台所涉及到发短信会调用此接口
- 短信区域:
cn-hangzhou
目前阿里官方给出必须是这个 - API名称:
Dysmsapi
目前官方给出一般都是这个名称 - API域名:
dysmsapi.aliyuncs.com
目前官方给出必须是这个地址 - KEY_ID: 你的IAM访问控制密钥ID
- KEY_SECRET: 你的access_secret密钥,备注:
这里需要必须有SMS的权限
- 点击测试端口会给当前用户发送一条短信用于测试
邮箱登陆
这块主要是支持第三方邮箱登陆,当你想要使用邮箱登陆此平台时,你可以在此进行配置 比如我们企业邮箱是腾讯的,域名就是
opendevops.cn
,SMTP就是腾讯的stmp.exmail.qq.com
,这样配置完成后我就可以使用我yanghongfei@opendevops.cn
邮箱+密码登陆此平台了。
- 邮箱SMTP: 这里输入你邮箱服务商的SMTP地址
- 邮箱域名:这里是你的邮箱后缀名字
存储配置 -> 这块主要是配置Bucket信息,目前只支持阿里云的OSS,这里目前主要用于将跳板日志审计的内容存放到OSS目录里面,若不配置此项则存数据库(可能会很大)
- 区域Region:阿里云的可用区域,如:
cn-hangzhou
- 存储桶名称: Bucket名称
- SecretID: 密钥ID,需要有OSS权限
- Secret Key: 密钥Key,需要有OSS权限
这里主要记录的本系统平台的所有请求日志,如:GET/POST/DELETE/PUT等,你的操作信息都会被记录,不要随意干坏事哟,管理员都可以看到的,安全我们还是会考虑进去的。
Everything is GPL v3.0.