0


spring-boot3 重定向(状态码:302)问题(无论访问那个接口都会被重定向到 【/login】登录界面)

问题描述

今天使用spring-boot做了热重载以后出现了一个问题,我无论访问那个接口都会导致接口被重定向到下面这个界面 地址是 :“localhost:/login”
在这里插入图片描述

chatGPT解决方式

问了一下 chatGPT,下面是他给我的答案(没能解决):


如果您在Spring Boot项目中使用了Spring Security进行身份验证,并且未进行正确的配置,则可能会出现重定向到"/login"路径的问题。这通常是因为Spring Security默认情况下将未经身份验证的请求重定向到"/login"路径。要解决这个问题,您可以在您的Spring Security配置中添加以下代码:

http
    .authorizeRequests()
        .antMatchers("/login").permitAll()
        .anyRequest().authenticated()
        .and()
    .formLogin()
        .loginPage("/custom-login-page")
        .permitAll();

其中,"/login"是默认的登录页面路径,您可以将其替换为您自己的登录页面路径。另外,如果您想要禁用重定向,您可以在配置中添加以下代码:

http
    .authorizeRequests()
        .antMatchers("/login").permitAll()
        .anyRequest().authenticated()
        .and()
    .formLogin()
        .loginPage("/custom-login-page")
        .permitAll()
        .successHandler((request, response, authentication) -> {})
        .failureHandler((request, response, exception) -> {});

这将使用空的成功和失败处理程序来禁用重定向。


成功解决的方式

1、删除security相关的包

比如:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.5.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.5.0</version>
</dependency>

2、添加下面的注解到启动类上方

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})

@SpringBootApplication(exclude ={SecurityAutoConfiguration.class})publicclassXXApplication{publicstaticvoidmain(String[] args){SpringApplication.run(XXApplication.class, args);}}

添加完毕后重启一下程序,就可以了,因为之前没遇到过,因此记录一下。

标签: java spring boot

本文转载自: https://blog.csdn.net/weixin_51033461/article/details/131240984
版权归原作者 讷言丶 所有, 如有侵权,请联系我们删除。

“spring-boot3 重定向(状态码:302)问题(无论访问那个接口都会被重定向到 【/login】登录界面)”的评论:

还没有评论