基于若依开发国内java开源cms框架,推荐一款免费开源java cms内容管理系统,

RuoYi-Fast-CMS 网站内容管理系统介绍

版本:v4.8.3 | RuoYi-Fast-CMS


一、系统概述

RuoYi-Fast-CMS 是一款基于 若依管理系统(RuoYi-Fast) 二次开发的专业级 Java CMS 网站内容管理系统。系统以 "让内容管理更简单、更灵活" 为设计理念,专注于政府、企事业单位的网站内容管理与站群建设需求,提供一套安全、高效、易用的内容管理解决方案。

采用前后端分离的架构思想,后台管理功能完善,前台支持多套网站模板,满足不同场景的建站需求。


二、技术栈

技术领域 选型方案 版本
核心框架 Spring Boot 2.5.15
安全框架 Apache Shiro 1.13.0
模板引擎 Thymeleaf -
持久层 MyBatis -
数据库 MySQL 5.7+
连接池 Druid 1.2.28
定时任务 Quartz -
缓存 Ehcache / Redis -
模板引擎 Velocity 2.3
验证码 Kaptcha 2.3.3
系统监控 OSHI 7.3.0
日志 Logback 1.2.13
JSON处理 Fastjson 1.2.83
分页插件 PageHelper 1.4.7
接口文档 Swagger 3.0.0
Office工具 Apache POI 4.1.2
前端框架 Bootstrap + jQuery -
图标库 Font Awesome -

三、核心功能模块

3.1 系统管理(System)

本项目扩展功能
  • 文章管理:文章内容推荐、置顶、幻灯、审核、发布、跳转链接。
  • 分类管理:无限级分类,支持自定义分类模板。
  • 单页管理:单页面增加、修改、删除。
  • 专题专栏:专题专栏,支持自定义分类模板。
  • 导航管理:支持自定义导航模板,自定义跳转链接、高亮显示。
  • 在线投稿:投稿功能,支持在线投稿,投稿管理,投稿审核。
  • 幻灯管理:根据设置的类型任意调用。
  • 友情链接:多级友情链接,可根据类型任意调用。
  • 文章统计:各部门的文章统计,可直观查看文章排名。
  • 站群管理:多级用户集约化管理,支持用户分配角色、分配数据权限、文章审批。
  • 站内搜索:支持文章检索、栏目检索等。
  • 信箱管理:支持在线写信、回复、加密查看等。
  • 回收站:支持文章软删除、硬删除。
  • 访问统计:网站首页底部显示访问总量、今天、昨天ip、pv 访问量。
  • 加密下载:后台可以自由切换是否加密的文件下载。
内置功能
  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 在线用户:当前系统中活跃用户状态监控。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  • 系统接口:根据业务代码自动生成相关的api接口文档。
  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 缓存监控:对系统的缓存查询,删除、清空等操作。
  • 在线构建器:拖动表单元素生成相应的HTML代码。
  • 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

3.2 CMS 内容管理

文章管理
  • 文章的新增、编辑、删除、回收站
  • 文章状态流转:草稿 → 审核 → 发布
  • 文章属性:置顶、推荐、幻灯、跳转链接
  • 支持文章批量操作
  • 支持文章按分类、专题归类
  • 文章发布时间自定义
  • 文章浏览统计

文章状态字段说明

字段 含义 可选值
art_type 文章类型 0-文章、1-单页面、2-专题
check_status 审核状态 0-待审核、1-审核通过、2-审核退回
is_issue 发布状态 0-未发布、1-已发布
show_status 显示状态 0-显示、1-回收站(软删除)
is_push 是否推荐 0-否、1-是
is_slide 是否幻灯 0-否、1-是
is_top 是否置顶 0-否、1-是
is_grant 是否签发 1-是、2-否
degree_num 访问次数 自动累计
分类管理
  • 无限级分类树形结构
  • 支持为每个分类指定自定义模板
  • 分类类型:普通分类、单页面、外链
  • 分类排序与状态管理
  • SEO 优化(分类标题、关键字、描述)
专题专栏
  • 专题的增删改查
  • 支持为专题指定自定义模板
  • 专题下可聚合多篇文章
  • 适合专题报道、活动聚合等场景
导航管理
  • 支持自定义导航模板
  • 导航类型:自定义链接、分类链接、页面链接
  • 导航高亮显示
  • 导航排序与状态管理
轮播/幻灯片管理
  • 幻灯片的增删改查
  • 支持图片上传、标题、链接配置
  • 排序与状态控制
友情链接
  • 链接的增删改查
  • 支持LOGO图片链接和文字链接
  • 链接分类管理
单页面管理
  • 独立的单页面内容管理
  • 适用于"关于我们"、"联系我们"等场景
  • 支持自定义模板
文档/下载管理
  • 文档的上传与管理
  • 支持加密下载(后台可灵活切换)
  • 文件分类管理
  • 信箱/下载密码使用 AES-128 加密 存储,保障数据安全
信箱管理
  • 在线写信/留言功能
  • 支持前台用户提交信息
  • 后台回复管理
  • 支持加密查看私密内容
在线投稿
  • 前台用户在线提交文章
  • 后台审核发布流程
  • 权限控制投稿入口
文章统计
  • 按部门维度统计文章数量
  • 直观查看文章排名
  • 数据可视化展示

3.3 多模板系统

系统内置四套前台网站模板,每套模板拥有独立的首页展示和文章详情页,可通过后台灵活切换:

模板 说明 适用场景
blue(蓝色模板) 经典蓝色商务风格 企业官网、政府门户
green(绿色模板) 清新绿色风格 环保、健康、教育类网站
red(红色模板) 大气红色风格 党建、政务、文化类网站
mobile(移动模板) 移动端适配模板 手机端、H5微网站

3.4 预览地址

红色模板:http://web-demo.system-code.vip/red/home

蓝色模板:http://web-demo.system-code.vip/blue/home

绿色模板:http://web-demo.system-code.vip/green/home

移动模板:http://web-demo.system-code.vip/mobile/home

每套模板均提供以下前端页面路由:

路由 功能 说明
/home 首页 轮播、文章列表、分类导航聚合展示
/lists/{navId} 多栏目文章列表 按导航聚合多栏目文章
/list/{categoryId} 单栏目文章列表 按分类筛选文章
/articles/{articleId} 文章详情页 文章正文内容展示
/page/{articleId} 单页面 独立单页展示
/listSpecial 专题列表 所有专题聚合页
/specialPage 专题详情 专题内容页
/mailbox 信箱列表 首长信箱信件列表
/down 下载列表 文件下载列表
/search 全文搜索 文章内容关键词搜索

3.5 站群管理

  • 多级用户集约化管理:支持总站管理多个子站
  • 用户数据权限分配:按部门/站点隔离数据
  • 文章审批流程:支持多级审批
  • 站群统一管理:一个后台管理多个站点内容

3.6 系统监控(Monitor)

在线用户
  • 实时查看当前在线用户
  • 支持强制踢出在线用户
  • 会话信息查看
定时任务
  • 基于 Quartz 的任务调度
  • 支持 Cron 表达式配置
  • 任务执行日志查看
  • 任务状态管理(启动/暂停/立即执行)
数据监控
  • Druid 数据库连接池监控
  • SQL 执行统计
  • URI 请求监控
服务监控
  • 服务器硬件信息(CPU、内存、磁盘)
  • JVM 运行状态
  • Java 系统信息
操作日志
  • 记录用户操作行为
  • 操作类型、请求参数、返回结果记录
  • 支持按时间、操作人查询
登录日志
  • 用户登录记录
  • 登录IP、操作系统、浏览器信息
  • 登录状态(成功/失败)

3.7 开发工具(Tool)

代码生成器
  • 基于数据库表结构自动生成代码
  • 支持 CRUD 单表、树表、主子表
  • 生成代码包括:Controller、Service、Mapper、Entity、HTML页面、SQL
  • 支持自定义生成路径和包名
  • 自动去除表前缀
Swagger 接口文档
  • 在线 API 接口文档
  • 接口在线调试
  • 接口分组展示
表单构建器
  • 可视化表单拖拽设计
  • 一键生成前端表单代码

四、安全特性

安全功能 说明
认证与授权 基于 Apache Shiro 的完整 RBAC 权限体系
验证码 登录验证码,支持数字计算(math)和字符(char)两种模式
XSS 防护 全局 XSS 过滤器,防止跨站脚本攻击
CSRF 防护 支持 CSRF Token 防护,可配置开关和白名单
密码策略 密码错误次数超限自动锁定(默认5次锁定10分钟)
会话管理 Session 超时控制、最大并发会话数限制、强制踢出
记住我 支持 Remember Me 功能,Cookie 加密存储
SQL 注入防护 MyBatis 参数化查询 + Druid SQL 防火墙
文件上传安全 文件类型校验、大小限制

五、数据模型概览

系统核心表

复制代码
sys_user          --- 用户信息表
sys_role          --- 角色信息表
sys_dept          --- 部门信息表
sys_menu          --- 菜单权限表
sys_post          --- 岗位信息表
sys_config        --- 系统参数配置表
sys_dict_type     --- 字典类型表
sys_dict_data     --- 字典数据表
sys_notice        --- 通知公告表

门户业务表

复制代码
sys_portal_article   --- 文章/内容表
sys_portal_category  --- 分类/栏目表
sys_portal_special   --- 专题/专栏表
sys_portal_navbar    --- 导航表
sys_portal_slide     --- 幻灯片表
sys_portal_links     --- 友情链接表
sys_portal_document  --- 文档/下载表
sys_portal_mailbox   --- 信箱/留言表
sys_portal_browse    --- 浏览统计表

监控与日志表

复制代码
sys_oper_log      --- 操作日志表
sys_logininfor    --- 登录日志表
sys_user_online   --- 在线用户表
sys_job           --- 定时任务表
sys_job_log       --- 任务执行日志表

六、项目目录结构

复制代码
ruoyi-fast-cms
├── src/main/java/com/ruoyi
│   ├── common/                    # 通用工具类、常量、异常定义
│   │   ├── constant/              # 系统常量
│   │   ├── exception/             # 业务异常(用户/文件/任务)
│   │   ├── utils/                 # 工具类(文件/安全/HTML/POI/HTTP/UUID等)
│   │   └── xss/                   # XSS 过滤器
│   ├── framework/                 # 框架核心
│   │   ├── aspectj/               # AOP 切面(日志、权限等)
│   │   ├── config/                # 配置类
│   │   ├── datasource/            # 多数据源支持
│   │   ├── interceptor/           # 拦截器
│   │   ├── manager/               # 异步任务管理器
│   │   ├── shiro/                 # Shiro 安全相关(Realm/Session/RememberMe)
│   │   ├── task/                  # 定时任务调度
│   │   └── web/                   # Web 层基类/分页/通用Controller
│   └── project/                   # 业务模块
│       ├── monitor/              # 系统监控模块
│       │   ├── job/             # 定时任务
│       │   ├── logininfor/       # 登录日志
│       │   ├── online/           # 在线用户
│       │   ├── operlog/          # 操作日志
│       │   ├── server/           # 服务监控
│       │   ├── cache/            # 缓存监控
│       │   └── druid/            # Druid监控
│       ├── portal/               # 门户后台管理模块
│       │   ├── article/          # 文章管理(含回收站/分类/专题/页面)
│       │   ├── browse/           # 浏览统计
│       │   ├── category/         # 分类管理
│       │   ├── document/         # 文档下载
│       │   ├── links/            # 友情链接
│       │   ├── mailbox/          # 信箱留言
│       │   ├── navbar/           # 导航管理
│       │   ├── slide/            # 幻灯片
│       │   └── special/          # 专题管理
│       ├── system/               # 系统管理模块
│       │   ├── config/           # 参数配置
│       │   ├── dept/             # 部门管理
│       │   ├── dict/             # 字典管理
│       │   ├── menu/             # 菜单管理
│       │   ├── notice/           # 通知公告
│       │   ├── post/             # 岗位管理
│       │   ├── role/             # 角色管理
│       │   └── user/             # 用户管理(含登录/注册/验证码)
│       └── tool/                 # 开发工具模块
│           ├── gen/              # 代码生成器
│           └── swagger/          # Swagger配置
├── src/main/resources
│   ├── templates/                # Thymeleaf模板
│   │   ├── portal/               # 门户后台管理页面
│   │   ├── system/               # 系统管理页面
│   │   ├── monitor/              # 监控页面
│   │   ├── tool/                 # 工具页面
│   │   ├── login.html            # 登录页
│   │   ├── register.html         # 注册页
│   │   ├── index.html            # 首页
│   │   └── main.html             # 系统介绍页
│   ├── mybatis/                  # MyBatis Mapper XML
│   ├── static/                   # 静态资源
│   └── application.yml           # 系统配置文件
├── sql/                          # 数据库脚本
│   ├── ruoyi-fast-cms.sql      # 完整数据库(含示例数据)
│   └── quartz.sql              # Quartz定时任务表结构
└── public/
    ├── uploadPath/               # 文件上传目录
    └── doc/                      # 系统文档

七、系统特性亮点

7.1 灵活的模板机制

  • 前台网站支持多套模板自由切换
  • 每个分类、专题可指定独立模板
  • 模板以目录形式组织,扩展方便

7.2 完善的内容管理

  • 文章从创作到发布的全生命周期管理
  • 支持无限级分类、专题聚合
  • 回收站机制防止误删

7.3 强大的权限体系

  • 功能权限:基于菜单/按钮级别的细粒度控制
  • 数据权限:基于部门的数据隔离
  • 角色 + 部门双重维度管控

7.4 站群能力

  • 一套系统管理多个站点
  • 统一用户、统一管理、统一审批
  • 适用于政府站群、企业多站点场景

7.5 代码自动生成

  • 基于数据库表一键生成前后端代码
  • 大幅减少重复 CRUD 开发工作
  • 生成代码规范统一、可直接使用

7.6 安全防护

  • 多维度安全机制:XSS、CSRF、SQL注入、验证码
  • 登录保护:密码锁定、会话控制
  • 操作审计:完整的操作日志与登录日志

7.7 系统监控

  • 全方位运行状态监控
  • 服务器硬件、JVM、数据库连接池实时数据
  • 在线用户实时管理

八、运行环境要求

环境 要求
JDK 1.8+
MySQL 5.7+
Maven 3.3+
操作系统 Windows / Linux / macOS
浏览器 Chrome / Firefox / Edge(建议 Chrome)

九、快速启动

9.1 环境准备

  1. 安装 JDK 1.8 及以上版本
  2. 安装 MySQL 5.7 及以上版本
  3. 安装 Maven 3.3 及以上版本

9.2 数据库初始化

  1. 创建数据库:CREATE DATABASE ruoyi-fast-cms DEFAULT CHARACTER SET utf8mb4;
  2. 导入 SQL 脚本:执行 sql/ruoyi-fast-cms.sql

9.3 修改配置

编辑 src/main/resources/application-druid.yml,修改数据库连接信息:

yaml 复制代码
datasource:
  master:
    url: jdbc:mysql://localhost:3306/ruoyi-fast-cms?useUnicode=true&characterEncoding=utf8
    username: root
    password: your_password

9.4 启动项目

bash 复制代码
# 方式一:IDE 运行
直接运行 com.ruoyi.RuoYiApplication.java 的 main 方法

# 方式二:Maven 命令行
mvn spring-boot:run

# 方式三:打包运行
mvn clean package
java -jar target/ruoyi.jar

9.5 访问系统


十、开源地址


📝 本文档随系统版本持续更新。

相关推荐
weixin_BYSJ19873 小时前
【java项目分享】springboot阅读推荐平台10600
java·javascript·spring boot·python·django·flask·php
小 黄 鸡3 小时前
JVM 核心总结
java
牛马也想出海4 小时前
使用Playwright被检测为机器人的原因及反检测方案
开发语言·网络·人工智能·机器人·php
GrowthDiary0074 小时前
Python 常用函数总结
开发语言·python
AI产品库4 小时前
2026年8月双响:ChatGPT免费版文本不限量,Qwen3.8-Max开启开源旗舰时代
chatgpt·开源
开源推荐官4 小时前
2026多商户B2B2C开源商城系统对比:Tigshop/CRMEB/NiuShop不止看开店功能
开源
ClouGence4 小时前
告别 Navicat!CloudDM:开源免费一站式数据库开发管理工具
数据库·sql·开源·数据库开发
热心网友俣先生4 小时前
2026年华数杯C 题 超详细解题思路
c语言·开发语言·人工智能
Data_Journal4 小时前
掌握网页抓取中的分页:完整指南
java·服务器·前端
莫逸风4 小时前
【AgentScope 2.0】05-文件系统(Filesystem)详解
java·ai·agent·springai·agentscope