# springboot-shiro-Camunda **Repository Path**: chen_si_han/springboot-shiro-camunda ## Basic Information - **Project Name**: springboot-shiro-Camunda - **Description**: 这是一个基于Spring Boot和Camunda BPM的工作流管理系统演示项目。该项目集成了业务流程管理(BPM)功能,提供了流程设计、流程部署、任务管理等核心功能,适用于需要工作流支持的企业应用场景。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2025-03-14 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, 工作流, camunda, Shiro ## README # SpringBoot权限管理系统 ## 项目概述 这是一个基于Spring Boot 2.3.5开发的综合性权限管理系统,集成了用户管理、角色管理、权限控制和工作流管理等功能。系统采用现代化的技术栈,提供了友好的用户界面和完善的后台管理功能。 ## 核心功能 - **用户权限管理**:基于Apache Shiro实现的完整RBAC权限控制 - **工作流引擎**:集成Camunda BPM工作流引擎,支持流程设计、执行和监控 - **日志管理**:系统操作日志记录与查询 - **响应式界面**:适配PC端现代化界面 - **文件管理**:支持大文件上传、断点续传、秒传等功能 - **分布式锁**:基于Redisson实现的分布式锁机制 ## 技术栈 ### 后端技术 - **核心框架**:Spring Boot 2.3.5 - **ORM框架**:MyBatis-Plus 3.4.3.2 - **权限框架**:Apache Shiro 1.8.0 - **工作流引擎**:Camunda BPM 7.17.0 - **数据库连接池**:Alibaba Druid 1.2.16 - **数据库**:MySQL 5.1.46 - **缓存**:Redis - **分布式锁**:Redisson - **ID生成器**:雪花算法 ### 前端技术 - **模板引擎**:Thymeleaf - **UI框架**:Bootstrap 4.6.0 - **图标库**:Font Awesome 5.15.3 - **JavaScript库**:jQuery 3.6.0 - **文件上传**:WebUploader - **文件预览**:Office Web 365、PDF.js ## 项目特点 1. **完整的权限控制**:基于Shiro实现的用户-角色-权限三级控制 2. **工作流支持**:集成Camunda工作流引擎,支持请假申请等业务流程 3. **响应式设计**:自适应布局,同时支持PC端和移动端 4. **安全性**:密码加密存储,防SQL注入,CSRF防护等安全措施 5. **易于扩展**:模块化设计,便于功能扩展和二次开发 6. **大文件处理**:支持大文件上传、断点续传、秒传等功能 7. **分布式支持**:支持分布式部署,使用Redis实现分布式锁 ## 项目结构 ``` springboot-demo/ ├── src/main/java/ │ └── com/example/springbootdemo/ │ ├── annotaition/ -- 自定义注解 │ ├── aspect/ -- 切面类 │ ├── config/ -- 配置类 │ ├── controller/ -- 控制器 │ ├── entity/ -- 实体类 │ ├── mapper/ -- MyBatis接口 │ ├── service/ -- 服务接口与实现 │ ├── utils/ -- 工具类 │ └── SpringbootDemoApplication.java -- 启动类 ├── src/main/resources/ │ ├── mapper/ -- MyBatis XML映射文件 │ ├── static/ -- 静态资源 │ ├── templates/ -- Thymeleaf模板 │ ├── application.yml -- 应用配置 │ └── processes/ -- 工作流定义文件 └── pom.xml -- Maven配置 ``` ## 部署要求 - JDK 1.8+ - MySQL 5.x - Maven 3.x - Redis 6.x(可选,用于分布式锁) - Office Web 365(可选,用于Office文档在线预览) ## 快速开始 1. 克隆项目到本地 ```bash git clone https://gitee.com/chen_si_han/springboot-shiro-camunda.git cd springboot-demo ``` 2. 配置数据库连接信息 ```yaml # 修改 src/main/resources/application.yml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useSSL=false&characterEncoding=utf8 username: your_username password: your_password ``` 3. 配置Redis连接(可选) ```yaml spring: redis: enabled: true host: localhost port: 6379 password: your_password ``` 4. 配置文件预览服务(可选) ```yaml preview: office: enabled: true url: http://your-office-web-365-server api-key: your-api-key pdf: enabled: true viewer-url: /static/pdfjs/web/viewer.html ``` 5. 执行Maven构建 ```bash mvn clean package ``` 6. 运行应用 ```bash java -jar target/springboot-demo-0.0.1-SNAPSHOT.jar ``` 7. 访问系统 ``` http://localhost:8080 ``` 默认管理员账号:admin 默认密码:123456 ## 功能模块 ### 用户管理 - 用户添加、删除、修改、查询 - 用户分配角色 - 用户状态管理 ### 角色管理 - 角色添加、删除、修改、查询 - 角色分配权限 - 角色状态管理 ### 权限管理 - 权限添加、删除、修改、查询 - 权限分类管理 - 权限树形展示 ### 工作流管理 - 流程设计器 - 请假申请 - 任务管理 - 流程监控 - 历史记录查询 ### 系统文件管理 - 文件上传(支持大文件) - 断点续传 - 秒传功能 - 文件查询 - 文件预览 - Office文档在线预览(Word、Excel、PPT等) - PDF文件在线预览 - 图片在线预览 - 文本文件在线预览 - 文件下载 ### 日志管理 - 操作日志记录 - 登录日志记录 - 日志查询 - 日志导出