springsecurity自定义登录url404_SpringSecurity登录成功页面需要自定义?没关系,一句话的事儿...

大多数情况下,我们在访问一个系统时,会直接访问我们收藏的某个页面,或者首页,又或者是访问根路径,成功登录系统后,一般情况下,会重定向到这些页面。如果并没有明确的目的指向,或者说我们想要让系统在登录成功后,一直指向某个页面怎么办?

其实,这很简单,很显然,Spring Security 也考虑到了这一点,在原配置基础上,添加一项 defaultSuccessUrl 配置即可。

http.formLogin().loginPage("/login").defaultSuccessUrl("/index").permitAll()

接下来,启动系统,分别用几种情况测试一下。

访问个人中心页面 http://localhost:8080/springsecuritylearning/user/index,登录后,系统跳转到了个人中心页面。

c74d7f83bb68061b1b714b34e31be376.png

查看Network标签,也确实是这样。

226cebd79485fa28e06e10bdd3a24401.png

重启系统,或者清除浏览器缓存。

访问系统首页 http://localhost:8080/springsecuritylearning/index,系统跳转到了首页。

886ee5bf29abcc8decf05f92231df098.png

查看Network标签,也印证了这点。

接下来,访问系统根路径 http://localhost:8080/springsecuritylearning/,从原理上讲,应该跳转到根路径页面,由于系统配置访问根路径时,重定向到首页,所以,在用户成功登录后,会先重定向到根路径,然后又重定向到首页。

到此,可能还会有疑问,如果我要让系统不管什么情况,不管之前输入的什么地址,在成功登录后,都跳转到各自的个人中心、亦或是首页呢?

这个需求也很常见,比如,做自媒体的应该有感受,我们登录某个自媒体后台后,一般情况下,会直接跳转到后台的个人中心,展示一些统计信息,如粉丝数、收益等等。

Spring Security 也提供了这个配置项。

http.formLogin().loginPage("/login").defaultSuccessUrl("/user/index", true).permitAll()

重启系统后,再次尝试以上的几种情况,我们发现,系统果然会在登录成功后,始终跳转到个人中心页面。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值