# res_cms **Repository Path**: yangxsa/res_cms ## Basic Information - **Project Name**: res_cms - **Description**: spring boot 整合Shiro后台 精确权限至按钮 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-04-16 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # res_cms 资源管理系统 - 基于 Spring Boot + Shiro 的企业级后台管理系统 ## 项目简介 res_cms 是一个基于 Spring Boot 框架开发的企业级内容管理系统(CMS),集成了 Apache Shiro 进行权限控制,支持精确到按钮级别的权限管理。项目还包含定时任务调度(Quartz)和实时消息通知(WebSocket)功能。 ## 技术栈 - **后端框架**: Spring Boot - **安全框架**: Apache Shiro - **定时任务**: Quartz Scheduler - **实时通信**: WebSocket (STOMP) - **数据访问**: MyBatis - **缓存**: EhCache / Redis - **数据库**: MySQL - **前端模板**: Thymeleaf + AdminLTE ## 系统功能 ### 权限管理 - 用户管理:用户的增删改查、密码重置 - 角色管理:角色权限分配 - 菜单管理:菜单树形结构管理 - 权限控制:精确到按钮级别的细粒度权限控制 ### 系统模块 - 证书管理(Cert) - 通知公告(Notify) - 数据字典(Dict) - 定时任务(Job) - 代码生成(Code Generator) ### 核心特性 - ✓ 基于 Shiro 的完整权限认证体系 - ✓ 按钮级别权限精确控制 - ✓ Quartz 定时任务调度 - ✓ WebSocket 实时消息推送 - ✓ 支持 Redis 缓存 - ✓ RESTful API 设计 ## 项目结构 ``` res_cms/ ├── src/main/java/com/yaa/cms/ │ ├── config/ # 配置类 │ │ ├── ShiroConfig.java # Shiro 配置 │ │ ├── QuartzConfig.java # Quartz 配置 │ │ ├── WebSocketConfig.java # WebSocket 配置 │ │ └── ... │ ├── controller/ # 控制器层 │ │ ├── system/ # 系统模块 │ │ └── CertController.java │ ├── service/ # 业务逻辑层 │ │ └── impl/ # 实现类 │ ├── dao/ # 数据访问层 │ ├── model/ # 实体模型 │ ├── util/ # 工具类 │ ├── task/ # 定时任务 │ └── quartz/ # Quartz 工具类 └── src/main/resources/ ├── mapper/ # MyBatis 映射文件 ├── static/ # 静态资源 └── application.yml # 配置文件 ``` ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.0+ - MySQL 5.7+ - Redis (可选) ### 配置步骤 1. **克隆项目** ```bash git clone https://gitee.com/yangxsa/res_cms.git ``` 2. **创建数据库** ```bash mysql -u root -p < src/main/resources/db/cms.sql ``` 3. **修改配置文件** 编辑 `src/main/resources/application.yml`,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/cms?useUnicode=true&characterEncoding=utf8 username: root password: your_password redis: host: localhost port: 6379 ``` 4. **编译运行** ```bash ./mvnw clean package java -jar target/res_cms-*.jar ``` 5. **访问系统** - 地址:http://localhost:8080 - 默认账号:admin / admin ## 配置说明 ### Shiro 配置 - 登录地址:`/login` - 权限注解:`@RequiresPermissions("system:user:user")` - 角色注解:`@RequiresRoles("admin")` ### 定时任务 - 管理地址:`/sys/job` - 支持 Cron 表达式配置 - 可视化任务状态管理 ### WebSocket - 端点:`/ws` - 消息推送主题:`/topic/notify` ## 核心类说明 | 类名 | 说明 | |------|------| | `ShiroRealm` | Shiro 认证授权实现 | | `QuartzManager` | 定时任务管理工具 | | `BDSessionListener` | Session 监听器 | | `DinnerJob` | 示例定时任务 | | `BaseInterceptor` | 请求拦截器 | ## 许可证 本项目仅供学习交流使用。