三、解决Springboot集成ActivitiModel提示输入密码的问题

一、原因分析

先要知道两点
- SpringBoot会根据引入的Jar包而自动配置相应的功能。
- ActivitiModeler中引用了Spring Security的Jar。(是一个安全或者说权限的框架)

知道这两点就知道原因了:

springboot发现项目的Lib包中含有spring security的Jar包,启动时自动将安全认证配置到了项目上。那么访问项目时,就需要输入用户名和密码才能访问项目。就弹出了如下界面:

三、解决Springboot集成ActivitiModel提示输入密码的问题_第1张图片

令人萌逼的是,密码在哪?密码在哪?密码在哪?

经过一番平静,可以从以下三个角度来解决。

  1. 干掉activiti modeler中的security依赖。
  2. 让springboot不自动配置security。
  3. 找到要输入的密码,然后输入之。

二、解决方案

1.干掉activiti modeler中的security依赖

在依赖的activiti model的包中排除掉security的包。gradle的排除方法如下。maven网上也很容易找到。

compile('org.activiti:activiti-modeler:5.22.0'){
        //排除Security依赖,否则需要输入密码
        exclude group: 'org.springframework.security'
    }

2.让springboot不自动配置activiti

在启动类上加上如下配置,springboot就不会自动配置security了

@SpringBootApplication
@EnableAutoConfiguration(exclude = {     
        org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
        org.activiti.spring.boot.SecurityAutoConfiguration.class
})
public class Main{
    //...
}

3.找到要输入的密码,然后输入之

在Activiti的ACT_ID_USER表中配置用户名和密码,如下图,用aaa和123456即可成功登录。

三、解决Springboot集成ActivitiModel提示输入密码的问题_第2张图片

你可能感兴趣的:(☀Java,-------【三方类库】)