今天在原有的框架(Springboot_shiro)的基础上准备把Activiti7整合进去,引入如下依赖后,启动时报SecurityManager一个异常。
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M6</version>
<scope>import</scope>
<type>pom</type>
</dependency>
后来发现是因为Activiti7默认使用的是SpringSecurity,所以出现了不兼容的问题,我们需要排除掉响应的配置类。
@SpringBootApplication(
exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class
}
)
但是对于7.1.0.M6这个版本,这样操作还是没用的,因为这个版本的代码强引用了SpringSecurity里的内容,比如在Activiti的SpringBoot配置类中,强引用UserDetailsService,没有这个就会报错。所以我们还需要把版本降到7.1.0.M4及以下。