# activiti7-springboot-security **Repository Path**: martainTao/activiti7-springboot-security ## Basic Information - **Project Name**: activiti7-springboot-security - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 9 - **Created**: 2021-01-15 - **Last Updated**: 2022-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 整合activiti7和springboot ## 简介 本项目使用activiti7版本与springboot整合,activiti7提供了两个新的api(`TaskRuntime`和`ProcessRuntime`)使得activiti7的使用更加简便,但是它的鉴权默认使用了`spring security`,反面来说也是更加的不灵活。 ## 核心依赖 ```xml org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 org.activiti activiti-spring-boot-starter 7.1.0.M4 org.activiti.dependencies activiti-dependencies 7.1.0.M4 pom ``` ## 修复SQL > 配置成功后,启动项目,会自动在数据库中创建好相应的表,但是这些表缺少了几个字段,需要修复下,这是官方的BUG。 ```sql -- ---------------------------- -- 修复Activiti7的M4版本缺失字段Bug -- ---------------------------- alter table ACT_RE_DEPLOYMENT add column PROJECT_RELEASE_VERSION_ varchar(255) DEFAULT NULL; alter table ACT_RE_DEPLOYMENT add column VERSION_ varchar(255) DEFAULT NULL; ``` ## 关于`TaskRuntime` 和`ProcessRuntime` > 这两个`Service`对`Activiti`原有提供的`Service`做了二次封装,而且必须是拥有`ACTIVITI_USER`角色才能调用这些`API` ```java @PreAuthorize("hasRole('ACTIVITI_USER')") public class ProcessRuntimeImpl implements ProcessRuntime { ... } @PreAuthorize("hasRole('ACTIVITI_USER')") public class TaskRuntimeImpl implements TaskRuntime { ... } ``` ## 结尾 该项目只是一个半成品,对`Activiti`的功能浅尝辄止,最开始的初衷是想通过在BPMN流程图上配置相关属性,后端自动生成相应的业务流表单的,但是要实现还是有些困难的,时间原因就没有继续深入下去。