MoMo Auth 是基于 Spring Boot+Spring Cloud+Vue+ElementUI 等微服务技术栈搭建,以注解的形式提供 RBAC 权限控制的低代码快速开发框架。
技术栈
框架 | 说明 |
---|---|
Spring Boot | 应用开发框架 |
Spring Cloud & Alibaba | 微服务解决方案 |
Gateway | 网关 |
OpenFeign | 远程服务调用 |
Java Jwt | 跨域身份验证解决方案 |
Mybatis Plus | MyBatis增强工具(持久层框架) |
RabbitMQ | 消息队列 |
Redis | 非关系型数据库 |
Hibernate Validator | 参数校验组件 |
Undertow | 高性能Web服务器 |
Hikari | 号称最快的数据库连接池 |
MariaDB | 关系型数据库,Mysql的分支替代品 |
Knife4j | 集成Swagger生成Api文档的增强解决方案 |
Fastjson2 | 新一代高性能Json解析库 |
Slf4j | 日志组件 |
Jasypt | 信息加密工具 |
Vue | 渐进式JavaScript框架 |
ElementUI | 基于Vue 2.0的桌面端组件库 |
工程结构
MOMO_AUTH ├── momo-api_client -- API服务 └── momo-commons -- 公共聚合模块 ├── momo-common-bom -- 全局依赖管理控制 ├── momo-common-core -- 公共模块核心类 ├── momo-common-log -- 日志记录 ├── momo-common-mybatis -- Mybatis扩展 ├── momo-common-security -- 权限控制 ├── momo-common-swagger -- 接口文档 └── momo-common-tps -- 第三方服务 ├── aliyun -- 阿里云服务接口 ├── qiniu -- 七牛云服务接口 └── wechat -- 微信服务接口(未完成) └── momo-gateway -- 网关 └── momo-monitor -- 服务监控中心
未来要做的事情
- 集成VariantForm表单设计器(已集成,未完善具体功能)
- 基于Mybatis Plus实现代码生成
- 完善网关,以支持灰度发布功能
特色功能
1.自定义注解
- @ValidateRepeatSubmit(防重复提交)
- @RequiresRoles(指定角色权限)
- @RequiresGroup(指定群组权限)
- @RequiresPermissions(指定操作权限)
- @Sensitive(数据脱敏)
- @SystemLog(系统操作日志记录)
2.防护性能
- 敏感词过滤
- XSS过滤
- 防SQL注入
- IP黑白名单(网关)
3.第三方服务
- 阿里云短信服务(已完成)
- 七牛云文件上传(已完成)
- 支付宝网站支付(已完成)
- 微信支付(未完成)