Go to file
2022-11-27 04:11:35 +00:00
renren-admin fix bugs 2022-11-27 10:46:10 +08:00
renren-api fix bugs 2022-11-27 10:46:10 +08:00
renren-common fix bugs 2022-11-27 00:07:39 +08:00
renren-dynamic-datasource fix bugs 2022-11-27 00:07:39 +08:00
renren-generator fix bugs 2022-11-27 00:07:39 +08:00
.gitignore v5.0.0 2022-05-02 17:40:47 +08:00
docker-compose.yml v5.0.0 2022-05-02 17:40:47 +08:00
Dockerfile-prod fix bugs 2022-11-27 10:46:10 +08:00
pom.xml fix bugs 2022-11-27 00:07:39 +08:00
README.md fix bugs 2022-11-27 00:26:02 +08:00

项目说明

  • 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 .