flowable6.6.0整合流程引擎应用分析 springboot2.5.2与
springboot2.5.2与,flowable6.6.0整合流程引擎应用分析,博智网带你了解详细信息 。
【flowable6.6.0整合流程引擎应用分析 springboot2.5.2与】1.pom
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.2</version><relativePath /> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><flowable.version>6.6.0</flowable.version></properties><!--flowable工作流依赖--><dependency><groupId>org.flowable</groupId><artifactId>flowable-spring-boot-starter</artifactId><version>${flowable.version}</version></dependency><!-- https://www.yf-zs.com/d/file/p/2021072718002349043/2021072718002349044 --><dependency><groupId>org.flowable</groupId><artifactId>flowable-json-converter</artifactId><version>${flowable.version}</version></dependency><!-- app 依赖 包含 rest,logic,conf --><dependency><groupId>org.flowable</groupId><artifactId>flowable-ui-modeler-rest</artifactId><version>${flowable.version}</version></dependency><dependency><groupId>org.flowable</groupId><artifactId>flowable-ui-modeler-logic</artifactId><version>${flowable.version}</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.flowable</groupId><artifactId>flowable-ui-modeler-conf</artifactId><version>${flowable.version}</version></dependency>
2.FlowableConfig配置类
package org.fh.config;import org.flowable.spring.SpringProcessEngineConfiguration;import org.flowable.spring.boot.EngineConfigurationConfigurer;import org.springframework.context.annotation.Configuration;import org.springframework.stereotype.Controller;/** * 说明:Flowable配置 * 作者:FH Admin * from:fhadmin.cn */@Controller@Configurationpublic class FlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {@Overridepublic void configure(SpringProcessEngineConfiguration engineConfiguration) {engineConfiguration.setActivityFontName("宋体");engineConfiguration.setLabelFontName("宋体");engineConfiguration.setAnnotationFontName("宋体");}}3.重写 SecurityUtils 重构流程编辑器获取用户信息package org.flowable.ui.common.security;import org.fh.util.Jurisdiction;import org.flowable.common.engine.api.FlowableIllegalStateException;import org.flowable.idm.api.User;import org.flowable.ui.common.model.RemoteUser;import org.springframework.security.core.Authentication;import org.springframework.security.core.context.SecurityContext;import org.springframework.security.core.context.SecurityContextHolder;import java.util.ArrayList;import java.util.List;/** * 说明:重构流程编辑器获取用户信息 * 作者:FH Admin * from:fhadmin.cn */public class SecurityUtils {private static User assumeUser;private static SecurityScopeProvider securityScopeProvider = new FlowableSecurityScopeProvider();private SecurityUtils() {}/*** Get the login of the current user.*/public static String getCurrentUserId() {User user = getCurrentUserObject();if (user != null) {return user.getId();}return null;}/*** @return the {@link User} object associated with the current logged in user.*/public static User getCurrentUserObject() {if (assumeUser != null) {return assumeUser;}RemoteUser user = new RemoteUser();user.setId(Jurisdiction.getUsername());user.setDisplayName(Jurisdiction.getName());user.setFirstName(Jurisdiction.getName());user.setLastName(Jurisdiction.getName());user.setEmail("admin@flowable.com");user.setPassword("123456");List<String> pris = new ArrayList<>();pris.add(DefaultPrivileges.ACCESS_MODELER);pris.add(DefaultPrivileges.ACCESS_IDM);pris.add(DefaultPrivileges.ACCESS_ADMIN);pris.add(DefaultPrivileges.ACCESS_TASK);pris.add(DefaultPrivileges.ACCESS_REST_API);user.setPrivileges(pris);return user;}public static void setSecurityScopeProvider(SecurityScopeProvider securityScopeProvider) {SecurityUtils.securityScopeProvider = securityScopeProvider;}public static SecurityScope getCurrentSecurityScope() {SecurityContext securityContext = SecurityContextHolder.getContext();if (securityContext != null && securityContext.getAuthentication() != null) {return getSecurityScope(securityContext.getAuthentication());}return null;}public static SecurityScope getSecurityScope(Authentication authentication) {return securityScopeProvider.getSecurityScope(authentication);}public static SecurityScope getAuthenticatedSecurityScope() {SecurityScope currentSecurityScope = getCurrentSecurityScope();if (currentSecurityScope != null) {return currentSecurityScope;}throw new FlowableIllegalStateException("User is not authenticated");}public static void assumeUser(User user) {assumeUser = user;}public static void clearAssumeUser() {assumeUser = null;}}
推荐阅读
- 内账要做总账吗
- 藏宝阁买号流程 藏宝阁交易流程是什么?
- 整合作用是指什么
- 商标注册流程有哪些
- 做蛋糕一般多长时间
- 成都住宅预售许可证流程是什么
- 建筑招投标流程是怎样的
- 化妆流程
- 南京房产贷款的流程是怎么样的
- 转债如何申购
