一、原因分析
先要知道兩點
- 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即可成功登錄。