前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Flowable] 集成Spring Boot和流程设计编辑器破解教程程

[Flowable] 集成Spring Boot和流程设计编辑器破解教程程

作者头像
架构探险之道
发布2019-07-25 16:38:04
4.8K0
发布2019-07-25 16:38:04
举报
文章被收录于专栏:架构探险之道

[Flowable] 集成Spring Boot和流程设计编辑器破解教程

@TOC

之前写过一篇基于Flowable 6.2.1的流程设计器整合和破解教程,一度认识了很多对工作流感兴趣的小伙伴们。后来有些伙伴联系我,希望我可以整理一份关于最新Flowable和Spring Boot的流程设计器整合教程。其实心里也一直有这个计划,这不,默默利用下班时间钻研了半个多月,终于整出来了,有需要的同学可以好好看看。还是那句话,思路很重要,其余的能力慢慢补充。^_^ !

本文主要为了开发学习和分享,转载请注明出处。Flowable的使用请尽量使用官方发布版本,涉及知识产权部分请谨慎使用,尤其是公司产品开发过程中,请特别注意!

手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博客发布地址。

平台

地址

CSDN

https://blog.csdn.net/sinat_28690417

简书

https://www.jianshu.com/u/3032cc862300

个人博客

http://xiazhaoyang.tech/

开发环境

  • gradle ------------------------------------------------------------ Gradle 4.7 ------------------------------------------------------------ Build time: 2018-04-18 09:09:12 UTC Revision: b9a962bf70638332300e7f810689cb2febbd4a6c Groovy: 2.4.12 Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017 JVM: 1.8.0_171 (Oracle Corporation 25.171-b11) OS: Mac OS X 10.13.5 x86_64
  • flowable 6.4.1
  • spring-boot 2.0.5

整合步骤

项目搭建

主要是项目核心依赖jar、静态文件的获取、静态资源访问配置等

gradle 主要依赖

代码语言:javascript
复制
dependencies {
    compile "org.springframework.boot:spring-boot-starter-web"
    compile "org.flowable:flowable-ui-modeler-rest:6.4.1"
    compile "org.flowable:flowable-ui-modeler-conf:6.4.1"

    compile libs["mysql-connector-java"]

    testCompile "org.springframework.boot:spring-boot-starter-test"
}

官网下载flowable-modeler.war,下载并解压其中静态文件集成到项目中

官网提供的github下载地址比较慢,可以直接从下文的百度网盘中获取。

>>>百度网盘下载地址

配置静态资源访问

后台资源访问

前端路由配置

两个文件中都增加路由前缀。为的是构造restDispatchServlet来扫描Mapping注入Spring容器。

代码语言:javascript
复制
@Configuration
public class ServletConfiguration {

    @Bean
    public ServletRegistrationBean appDispatcherServlet(){
        //注解扫描上下文
        AnnotationConfigWebApplicationContext applicationContext
                = new AnnotationConfigWebApplicationContext();
        //base package
        applicationContext.scan("org.flowable.modeler.rest","org.flowable.ui.modeler");
        //通过构造函数指定dispatcherServlet的上下文
        DispatcherServlet appdispatcherServlet
                = new DispatcherServlet(applicationContext);

        //用ServletRegistrationBean包装servlet
        ServletRegistrationBean registrationBean
                = new ServletRegistrationBean(appdispatcherServlet);
        registrationBean.setLoadOnStartup(2);
        //指定urlmapping
        registrationBean.addUrlMappings("/activiti/*");
        //指定name,如果不指定默认为dispatcherServlet
        registrationBean.setName("appDispatcherServlet");
        return registrationBean;
    }

}

鉴权破解

经过上文的配置,基本静态资源的访问和接口的访问已经是没问题了,但是flowable在分模块开发后,已经集成了Spring Security 进行安全校验的拦截。这个拦截的存在,无法使我们的后台和前端简历一个正常的交互。下面我们开始破解安全校验的拦截。

启动类忽略扫描Spring Security配置相关的配置类

代码语言:javascript
复制
@SpringBootApplication
@EnableAutoConfiguration(exclude = {
        org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
@ComponentScan(basePackages = {"com.example.modeler.common"})
public class CapsuleFlowableModelerApplication {

    public static void main(String[] args) {
        SpringApplication.run(CapsuleFlowableModelerApplication.class, args);
    }
}

此处主要为了取消Spring Security的默认拦截。

构造虚拟用户,跳过所有鉴权

此处选择需要处理的主要是和权限相关的类和请求Handle就行了,多余的无需覆盖。

Problems

mysql 中文数据插入乱码

>>>2019-03-17-mysql-case

效果演示

REFERENCES

  • V6.3用户手册
  • 官方Github
  • security.basic.enabled 配置过时或不可用

之前写的一篇文章,可以结合起来看。

[ Flowable ] 与modeler流程设计器整合教程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构探险之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • [Flowable] 集成Spring Boot和流程设计编辑器破解教程
    • 整合步骤
      • 项目搭建
    • 鉴权破解
      • Problems
        • 效果演示
          • REFERENCES
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档