一、原因分析
先要知道两点
- SpringBoot会根据引入的Jar包而自动配置相应的功能。
- ActivitiModeler中引用了Spring Security的Jar。(是一个安全或者说权限的框架)
知道这两点就知道原因了:
springboot发现项目的Lib包中含有spring security的Jar包,启动时自动将安全认证配置到了项目上。那么访问项目时,就需要输入用户名和密码才能访问项目。就弹出了如下界面:
令人萌逼的是,密码在哪?密码在哪?密码在哪?
经过一番平静,可以从以下三个角度来解决。
- 干掉activiti modeler中的security依赖。
- 让springboot不自动配置security。
- 找到要输入的密码,然后输入之。
二、解决方案
1.干掉activiti modeler中的security依赖
在依赖的activiti model的包中排除掉security的包。gradle的排除方法如下。maven网上也很容易找到。
compile('org.activiti:activiti-modeler:5.22.0'){
//排除Security依赖,否则需要输入密码
exclude group: 'org.springframework.security'
}
- 1
- 2
- 3
- 4
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即可成功登录。