renren-security

采用Spring、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。【QQ群:324780204、145799952】

Github stars Tracking Chart

项目说明

  • 采用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.1
  • 安全框架:Apache Shiro 1.4
  • 视图框架:Spring MVC 5.0
  • 持久层框架:MyBatis 3.5
  • 定时器:Quartz 2.3
  • 数据库连接池:Druid 1.1
  • 日志管理:SLF4J 1.7、Log4j
  • 页面交互:Vue2.x

软件需求

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

本地部署

  • 通过git下载源码

  • idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法

  • 创建数据库renren_security,数据库编码为UTF-8

  • 执行db/mysql.sql文件,初始化数据【按需导入表结构及数据】

  • 修改application-dev.yml文件,更新MySQL账号和密码

  • 在renren-security目录下,执行mvn clean install

  • Eclipse、IDEA运行AdminApplication.java,则可启动项目【renren-admin】

  • renren-admin访问路径:http://localhost:8080/renren-admin

  • swagger文档路径:http://localhost:8080/renren-admin/swagger/index.html

  • swagger注解路径:http://localhost:8080/renren-admin/swagger-ui.html

  • 账号密码:admin/admin

  • Eclipse、IDEA运行ApiApplication.java,则可启动项目【renren-api】
  • renren-api访问路径:http://localhost:8081/renren-api/swagger-ui.html
  • Eclipse、IDEA运行GeneratorApplication.java,则可启动项目【renren-generator】
  • renren-generator访问路径:http://localhost:8082/renren-generator

集群部署

  • 集群部署,需要安装redis,并配置redis信息
  • 需要配置【renren.redis.open=true】,表示开启redis缓存
  • 需要配置【renren.cluster=true】,表示开启集群环境

项目演示

  • 演示地址:http://demo.open.renren.io/renren-security
  • 账号密码:admin/admin

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

  • 开发文档:https://www.renren.io/guide/security
  • 官方社区:https://www.renren.io/community
  • gitee仓库:https://gitee.com/renrenio/renren-security
  • github仓库:https://github.com/renrenio/renren-security
  • 人人开源:https://www.renren.io
  • 官方QQ群:324780204、145799952
  • 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持
  • 技术讨论、二次开发等咨询、问题和建议,请移步到官方社区,我会在第一时间进行解答和回复!
  • 微信扫码并关注【人人开源】,获得项目最新动态及更新提醒
    输入图片说明

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

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

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

捐赠

Main metrics

Overview
Name With Ownerrenrenio/renren-security
Primary LanguageJava
Program languageJava (Language Count: 6)
Platform
License:Apache License 2.0
所有者活动
Created At2016-12-27 14:59:36
Pushed At2023-04-17 19:16:11
Last Commit At2022-08-09 10:33:46
Release Count4
Last Release Namev4.0.0 (Posted on )
First Release Namev2.1.0 (Posted on )
用户参与
Stargazers Count2k
Watchers Count206
Fork Count1.1k
Commits Count171
Has Issues Enabled
Issues Count35
Issue Open Count9
Pull Requests Count1
Pull Requests Open Count25
Pull Requests Close Count10
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private