# renren-security **Repository Path**: cloudcoder/renren-security ## Basic Information - **Project Name**: renren-security - **Description**: 采用SpringBoot4.x、MyBatis-Plus、Shiro、Vue3、ElementPlus等框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。🔝 🔝 🔝 记得上边点个star 关注更新。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: v6.0.1 - **Homepage**: https://www.renren.io - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5875 - **Created**: 2025-12-23 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **📕 Table of Contents** - 💡 [What is renren-security?](#-项目说明) - 📌 [Latest Updates](#-latest-updates) - 📜[Roadmap](#-roadmap) - 🏄 [Community](#-community) - 🙌 [Contributing](#-contributing) ### 📚 项目说明 - 本项目fork renren-security, 基于5.5.0版本,测试验证springboot 4.x 及 spring-ai 2.x相关的功能 - renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】 - 采用SpringBoot4.x、Shiro、MyBatis-Plus、Vue3、TypeScript、Element Plus、Vue Router、Pinia、Axios、Vite框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。 - 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务 - 支持MySQL、PostgreSQL、H2等主流数据库【理论上支持达梦、Oracle、SQL Server,但在springboot 4下未测试】 ### 🔥 Latest Updates - 2025-12-23 - 升级java 版本至21,默认使用25 - 升级springboot 最新版4.0.0, 参考 [JAVA 21 & Spring Boot 4 学习--迁移指南 Migration Guide](https://cloudcoder.blog.csdn.net/article/details/156134682) - mybatisplus调整 - 升级 mybatisplus 3.5.15 【mybatis-plus-spring-boot4-starter】, 因为SpringBoot4 需要 ^3.5.13,详见[mybatis-plus](https://github.com/baomidou/mybatis-plus) - 增加mybatis-plus-jsqlparser 依赖,因为mybatisplus ^3.5.9 需要单独引用,BlockAttackInnerInterceptor及PaginationInnerInterceptor迁移至此模块 - Druid调整 - 因为druid spring starter还未提供针对springboot 4的支持,主要是因为springboot 包结构发生的变化【org.springframework.boot.autoconfigure. -> org.springframework.boot..autoconfigure】,导致编译报错,所以虽然保留了druid-spring-boot-3-starter依赖,但重构了com.alibaba.druid.spring.boot3.autoconfigure下面的2个类 - druid 版本升级至1.2.27 - 增加针对H2的支持,并且renren-admin,renren-api中默认使用H2作为数据库启动 - hutool版本升级至5.8.42 - springdoc版本升级至2.8.14 - 在springboot 4下,以下组件需要单独引用 - spring-boot-starter-quartz - spring-boot-starter-aop 在springboot 4下调整为spring-boot-starter-aspectj - spring-boot-starter-jdbc - 添加了一些针对Springboot 4新特性的测试 - 优雅 API 版本控制 - 程序化 Bean 注册(BeanRegistrar) - 声明式HTTP客户端 HttpExchange ### 🎮 演示地址 - 演示地址:http://demo.open.renren.io/renren-security (账号密码:admin/admin) ### 📜 Roadmap See the [renren-security Roadmap 2026](https://gitee.com/cloudcoder/renren-security/issues/IDFDF7)
### 🎯 架构设计 #### 架构特点 - 友好的代码结构及注释,便于阅读及二次开发 - 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术 - 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 - 提供CrudService接口,对增删改查进行封装,代码更简洁 - 页面交互使用Vue3.x,极大的提高了开发效率 - 完善的部门管理及数据权限,通过注解实现数据权限的控制 - 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击 - 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务 - 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能 - 引入Hibernate Validator校验框架,轻松实现后端校验 - 引入云存储服务,已支持:七牛云、阿里云、腾讯云等 - 引入swagger文档支持,方便编写API接口文档
#### 数据权限设计思想 - 用户管理、角色管理、部门管理,可操作本部门及子部门数据 - 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限 - 业务功能,按照用户数据权限,查询、操作数据【没有本部门数据权限,也能查询本人数据】
#### 项目结构 ``` renren-security ├─renren-common 公共模块 │ ├─renren-admin 管理后台 │ ├─db 数据库SQL脚本 │ │ │ ├─modules 模块 │ │ ├─job 定时任务 │ │ ├─log 日志管理 │ │ ├─oss 文件存储 │ │ ├─security 安全模块 │ │ └─sys 系统管理(核心) │ │ │ └─resources │ ├─mapper MyBatis文件 │ ├─public 静态资源 │ └─application.yml 全局配置文件 │ │ ├─renren-api API服务 │ ├─renren-generator 代码生成器 │ └─resources │ ├─mapper MyBatis文件 │ ├─template 代码生成器模板(可增加或修改相应模板) │ ├─application.yml 全局配置文件 │ └─generator.properties 代码生成器,配置文件 │ ├─renren-ui Vue3前端工程 ```
#### 技术选型 - 核心框架:Spring Boot 4.x - 安全框架:Apache Shiro 1.12 - 持久层框架:MyBatis 3.5 - 定时器:Quartz 2.5.1 - 数据库连接池:Druid 1.2 - 日志管理:Logback - 页面交互:Vue3.x
#### 软件需求 - JDK21+, 默认JDK25 - Maven3.9+ - MySQL 9.5+ - PostgreSQL 42.7+ - 以下数据库在Spring boot 4下未测试, 如果需要,请自行测试 - Oracle 11g+ - SQLServer 2012+ - 达梦8
#### 本地部署 - 通过git下载源码 - 创建数据库renren_security,数据库编码为UTF-8 - 执行db/mysql.sql文件,初始化数据 - 修改application-dev.yml文件,更新MySQL账号和密码 - 在renren-security目录下,执行mvn clean install - IDEA运行AdminApplication.java,则可启动项目【renren-admin】 - renren-admin访问路径:http://localhost:8080/renren-admin - swagger文档路径:http://localhost:8080/renren-admin/doc.html - 再启动前端工程 - 账号密码:admin/admin
![输入图片说明](renren-admin/src/main/resources/public/1.png)
![输入图片说明](renren-admin/src/main/resources/public/2.png)
### 🏄 Community - 开发文档:https://www.renren.io/guide/security - Gitee仓库:https://gitee.com/renrenio/renren-security - GitCode仓库:https://gitcode.com/renrenio/renren-security - [人人开源](https://www.renren.io):https://www.renren.io - 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持
#### 🏄 微信交流群 我们提供了微信交流群,扫码下面的二维码,关注【人人开源】公众号,回复【加群】,即可根据提示加入微信群!

![输入图片说明](renren-admin/src/main/resources/public/wechat.jpg)
### 🙌 Contributing renren-security flourishes via open-source collaboration. In this spirit, we embrace diverse contributions from the community.