# 基于Spring Boot框架的IoCoder管理系统
## 项目简介
IoCoder管理系统是一个基于Spring Boot、Spring Security和JWT实现的后端开发脚手架。该项目参考了ruoyi-vue和ruoyi-vue-pro的架构,旨在提供一个高效、安全且易于扩展的后端开发平台。IoCoder管理系统涵盖了用户认证、权限管理、系统配置、文件管理、工作流等多个功能模块,适用于各种企业级应用的开发。
## 项目的主要特性和功能
### 1. 用户认证与权限管理
- **Spring Security**:提供强大的用户认证和权限控制功能,确保系统的安全性。
- **JWT**:使用JSON Web Tokens进行无状态的会话管理,提高系统的可扩展性和安全性。
- **登录与登出**:支持用户登录和登出操作,并记录登录日志。
- **用户管理**:支持用户的创建、更新、删除和查询操作,以及用户状态的管理。
### 2. 系统配置与管理
- **系统配置**:管理系统的各项配置参数,如数据库连接、缓存配置等。
- **字典管理**:维护系统中的字典数据,方便前端展示和后端逻辑处理。
- **部门管理**:管理企业的组织架构,支持部门的创建、更新、删除和查询操作。
- **岗位管理**:管理企业的岗位信息,支持岗位的创建、更新、删除和查询操作。
### 3. 文件管理
- **文件上传与下载**:支持文件的上传和下载操作,并提供文件的版本管理功能。
- **附件管理**:管理系统中的附件文件,支持附件的创建、更新、删除和查询操作。
### 4. 工作流管理
- **Activiti工作流**:集成Activiti工作流引擎,支持流程的定义、部署、执行和监控。
- **流程模型管理**:支持流程模型的创建、导入、获取和部署操作。
- **流程实例管理**:支持流程实例的启动、挂起、激活和取消操作,并提供流程实例的当前任务节点信息。
### 5. 日志管理
- **操作日志**:记录用户的操作行为,便于系统审计和问题追踪。
- **登录日志**:记录用户的登录行为,便于系统安全监控和用户行为分析。
### 6. 其他功能
- **验证码**:提供图片验证码功能,增强系统的安全性。
- **跨域处理**:支持跨域请求,方便前后端分离开发。
## 安装使用步骤
### 1. 复制代码
使用IDEA复制[IoCoder管理系统](https://gitee.com/wztongkai/iocoder-pro.git)仓库的最新代码。
### 2. 初始化MySQL
创建名为`iocoder-pro`的数据库,并执行`sql`目录下的`iocoder-pro.sql`文件进行数据库初始化。
### 3. 配置启动参数
为启动类`IoCoderApplication.java`和`JasyptTest`设置启动参数:`-Djasypt.encryptor.password=WkZuiShuai`。
### 4. 生成加密字符串
执行`iocoder-server`模块`test`下的`JasyptTest`文件中的`test()`方法,生成明文的加密字符串。
### 5. 修改配置文件
修改`application-dev.yml`配置文件中的明文密码和用户名,使用第三步生成的加密字符串替换`ENC()`中的字符串。
### 6. 启动服务
运行`iocoder-server`模块中的启动类`IoCoderApplication.java`启动服务。
### 7. 部署
执行Maven的`clean`和`install`/`package`命令将项目打包,并将`iocoder-server`模块下`target`中的`iocoder-server.jar`部署在服务器中。执行以下命令启动项目:
```bash
java -jar iocoder-server.jar --jasypt.encryptor.password=WkZuiShuai
```
或
```bash
java -Djasypt.encryptor.password=WkZuiShuai -jar iocoder-server.jar
```
### 8. 访问系统
访问地址:[http://43.138.41.193](http://43.138.41.193)
通过以上步骤,您可以成功部署并使用IoCoder管理系统,享受其强大的功能和灵活的扩展性。