|
||
---|---|---|
renren-admin | ||
renren-api | ||
renren-common | ||
renren-dynamic-datasource | ||
renren-generator | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile-prod | ||
pom.xml | ||
README.md |
项目说明
-
common-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】
-
采用SpringBoot、Shiro、MyBatis-Plus框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。
-
提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
-
支持MySQL、达梦、Oracle、SQL Server、PostgreSQL等主流数据库
-
common-common为公共模块,其他模块以jar包的形式引入进去,主要提供些工具类,以及common-admin、common-api模块公共的entity、mapper、dao、service服务,防止一个功能重复多次编写代码。
-
common-admin为后台模块,也是系统的核心,用来开发后台管理系统,可以打包成jar,部署到服务器上运行,或者打包成war,放到Tomcat8.5+容器里运行。
-
common-api为接口模块,主要是简化APP开发,如:为微信小程序、IOS、Android提供接口,拥有一套单独的用户体系,没有与common-admin用户表共用,因为common-admin用户表里存放的是企业内部人员账号,具有后台管理员权限,可以登录后台管理系统,而common-api用户表里存放的是我们的真实用户,不具备登录后台管理系统的权限。common-api主要是实现了用户注册、登录、接口权限认证、获取登录用户等功能,为APP接口的安全调用,提供一套优雅的解决方案,从而简化APP接口开发。
-
common-generator为代码生成器模块,只需在MySQL数据库里,创建好表结构,就可以生成新增、修改、删除、查询、导出等操作的代码,包括entity、mapper、dao、service、controller、页面等所有代码,项目开发神器。
具有如下特点
- 友好的代码结构及注释,便于阅读及二次开发
- 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
- 提供CrudService接口,对增删改查进行封装,代码更简洁
- 页面交互使用Vue2.x,极大的提高了开发效率
- 完善的部门管理及数据权限,通过注解实现数据权限的控制
- 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
- 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 引入Hibernate Validator校验框架,轻松实现后端校验
- 引入云存储服务,已支持:七牛云、阿里云、腾讯云等
- 引入swagger文档支持,方便编写API接口文档
数据权限设计思想
- 用户管理、角色管理、部门管理,可操作本部门及子部门数据
- 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限
- 业务功能,按照用户数据权限,查询、操作数据【没有本部门数据权限,也能查询本人数据】
项目结构
common-security
├─common-common 公共模块
│
├─common-admin 管理后台
│ ├─db 数据库SQL脚本
│ │
│ ├─modules 模块
│ │ ├─job 定时任务
│ │ ├─log 日志管理
│ │ ├─oss 文件存储
│ │ ├─security 安全模块
│ │ └─sys 系统管理(核心)
│ │
│ └─resources
│ ├─mapper MyBatis文件
│ ├─public 静态资源
│ └─application.yml 全局配置文件
│
│
├─common-api API服务
│
├─common-generator 代码生成器
│ └─resources
│ ├─mapper MyBatis文件
│ ├─template 代码生成器模板(可增加或修改相应模板)
│ ├─application.yml 全局配置文件
│ └─generator.properties 代码生成器,配置文件
│
技术选型:
- 核心框架:Spring Boot 2.7
- 安全框架:Apache Shiro 1.10
- 持久层框架:MyBatis 3.5
- 定时器:Quartz 2.3
- 数据库连接池:Druid 1.2
- 日志管理:Logback
- 页面交互:Vue2.x
软件需求
- JDK1.8
- Maven3.0+
- MySQL8.0
- Oracle 11g+
- SQL Server 2012+
- PostgreSQL 9.4+
- 达梦8
本地部署
- 通过git下载源码
- idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法
- 创建数据库common_security,数据库编码为UTF-8
- 执行db/mysql.sql文件,初始化数据
- 修改application-dev.yml文件,更新MySQL账号和密码
- 在common-security目录下,执行mvn clean install
- Eclipse、IDEA运行AdminApplication.java,则可启动项目【common-admin】
- common-admin访问路径:http://localhost:9080/
- swagger文档路径:http://localhost:9080/doc.html
- 账号密码:admin/admin
docker build
docker build -f Dockerfile-prod -t registry.cn-hongkong.aliyuncs.com/test/common-admin:staging_v0.0.1 .