【踩坑系列】 SpringBoot ,SpringSecurity,activiti 项目无法正常跳转到登录界面

216 阅读1分钟

【踩坑系列】 SpringBoot ,SpringSecurity,activiti 项目无法正常跳转到登录界面

前言

一直强制跳转到springSecurity 的默认的登录界面,无法正常跳转到自己项目的登录界面以及自己的LoginController 没有执行。

image.png 接手的其他项目,项目中登录一直用的Shiro,pom 文件中也没有搜到有SpringSecurity的依赖,定位这个问题的bug 花费了挺长时间,在

image.png

才找到有引入SpringSecurity 的jar 包

问题原因

1.项目中有用Activiti

  1. 项目中引入SpringSecurity 的依赖

所以SpringBoot中的Application 的启动类中 SecurityAutoConfiguration 有两个

 org.activiti.spring.boot.SecurityAutoConfiguration.class,
 org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class

解决方案

 @EnableScheduling
 @EnableTransactionManagement
 @ConfigurationPropertiesScan
 @SpringBootApplication(exclude = {org.activiti.spring.boot.SecurityAutoConfiguration.class,
         org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})
 public class Application extends SpringBootServletInitializer {
     
     public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
     }
     
     @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
         this.setRegisterErrorPageFilter(false); // 错误页面有容器来处理,而不是SpringBoot
         return builder.sources(Application.class);
     }
     
 }

最后

最后,可以正常跳转到自己的登录界面