开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

GVP人人开源 / renren-securityJavaApache-2.0

Watch 1.6k Star 4k Fork 2.2k
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
采用SpringBoot2.0、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。【QQ群:324780204、145799952】 展开 收起

https://www.renren.io

取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

项目说明

  • 采用SpringBoot、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。
  • 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
  • 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库

具有如下特点

  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
  • 完善的部门管理及数据权限,通过注解实现数据权限的控制
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • 支持分布式部署,session存储在redis中
  • 友好的代码结构及注释,便于阅读及二次开发
  • 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
  • 页面交互使用Vue2.x,极大的提高了开发效率
  • 引入swagger文档支持,方便编写API接口文档

数据权限设计思想

  • 管理员管理、角色管理、部门管理,可操作本部门及子部门数据
  • 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限
  • 业务功能,按照用户数据权限,查询、操作数据【没有本部门数据权限,也能查询本人数据】

项目结构

renren-security
├─renren-common     公共模块
│ 
├─renren-admin      管理后台
│    ├─db  数据库SQL脚本
│    │ 
│    ├─modules  模块
│    │    ├─job 定时任务
│    │    ├─oss 文件存储
│    │    └─sys 系统管理(核心)
│    │ 
│    └─resources 
│        ├─mapper   MyBatis文件
│        ├─statics  静态资源
│        ├─template 系统页面
│        │    ├─modules      模块页面
│        │    ├─index.html   AdminLTE主题风格(默认主题)
│        │    └─index1.html  Layui主题风格
│        └─application.yml   全局配置文件
│       
│ 
├─renren-api        API服务
│ 
├─renren-generator  代码生成器
│        └─resources 
│           ├─mapper   MyBatis文件
│           ├─template 代码生成器模板(可增加或修改相应模板)
│           ├─application.yml    全局配置文件
│           └─generator.properties   代码生成器,配置文件
│

技术选型:

  • 核心框架:Spring Boot 2.0
  • 安全框架:Apache Shiro 1.4
  • 视图框架:Spring MVC 5.0
  • 持久层框架:MyBatis 3.3
  • 定时器:Quartz 2.3
  • 数据库连接池:Druid 1.1
  • 日志管理:SLF4J 1.7、Log4j
  • 页面交互:Vue2.x

软件需求

  • JDK1.8
  • MySQL5.5+
  • Maven3.0+

本地部署

  • 通过git下载源码
  • 创建数据库renren_security,数据库编码为UTF-8
  • 执行db/mysql.sql文件,初始化数据【按需导入表结构及数据】
  • 修改application-dev.yml文件,更新MySQL账号和密码
  • 在renren-security目录下,执行mvn clean install




分布式部署

  • 分布式部署,需要安装redis,并配置config.properties里的redis信息
  • 需要配置【renren.redis.open=true】,表示开启redis缓存
  • 需要配置【renren.shiro.redis=true】,表示把shiro session存到redis里

项目演示


如何交流、反馈、参与贡献?



接口文档效果图: 输入图片说明


Layui主题风格: 输入图片说明


AdminLTE主题风格: 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明


捐赠

搜索帮助

12_float_left_people 12_float_left_close