SpringSecurity,defaultSuccessUrl不跳转指定页面

本人是用springsecurity的新手,今天遇到defaultSuccessUrl不跳转指定页面的问题。真是头疼死了,网上找遍了解决方法都解决不了。

我的代码如下:

java 复制代码
@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.logout().logoutUrl("/logout").logoutSuccessUrl("/test/hello").permitAll();
        http.formLogin()
                .loginPage("/login.html")
                .loginProcessingUrl("/user/login")
                .defaultSuccessUrl("/success.html").permitAll()
                .and().authorizeRequests()
                .anyRequest().authenticated()
                .and().csrf().disable();
    }

当前遇到的问题是:

假如我一开始就访问 http://localhost:9001/success.html,springsecurity会自动跳转到login.html,我登录后就能访问success.html。

但是!!如果我直接访问登录页面login.html,登录成功后无法跳转到success.html,报错:

但是此时却可以通过URL直接访问:

然后我从别的博主那里发现了这个:

于是,我试着将代码改为使用successForwardUrl:

java 复制代码
.successForwardUrl("/success.html").permitAll()

然后更离谱的来了,直接无法正常登录了!

老子此时已经想摔电脑了!!

最后通过不断的尝试,使用defaultSuccessUrl的第二参数true解决了:

java 复制代码
.defaultSuccessUrl("/success.html", true).permitAll()

成功跳转!

如果你也遇到这个操蛋的问题,可以试试我的解决方法

相关推荐
mN9B2uk173 分钟前
为mysql数据库建立索引
数据库·mysql·oracle
SilentSamsara8 分钟前
SQLAlchemy 2.x:异步 ORM 与数据库迁移 Alembic 完整指南
开发语言·数据库·python·sql·青少年编程·oracle·fastapi
流星白龙9 分钟前
【MySQL高阶】7.MySQL日志
数据库·mysql·adb
流星白龙22 分钟前
【MySQL高阶】0.MySQL的安装
数据库·mysql·adb
Rick19931 小时前
联合索引是按顺序排好序的
数据库·mysql
步十人1 小时前
【Redis】网络高并发模型
网络·数据库·redis
我是一颗柠檬1 小时前
【Redis】列表与集合Day4(2026年)
数据库·redis·后端·缓存
AOwhisky1 小时前
Ceph系列第三期:Ceph 集群核心配置与管理
linux·运维·数据库·笔记·ceph
陈天伟教授1 小时前
安装 AutoCAD 时,“可选工具“ 的详细说明。
数据库
zcn1261 小时前
举一反三思路思考形如(列=参数 or decode函数)
数据库·sql优化改写