前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Security 使用logoutUrl和logoutSuccessUrl跳转显示404异常错误

Spring Security 使用logoutUrl和logoutSuccessUrl跳转显示404异常错误

作者头像
你的明明呐丶
发布2022-06-27 12:39:03
9210
发布2022-06-27 12:39:03
举报
文章被收录于专栏:用户4184852的专栏

解决方案

因为 spring security 在开启 csrf 防护的情况下,/logout 必须是以 POST 方法提交才行,<a> 标签请求是 GET 方法,所以报 404

1.很有可能开启了CSRF防护,可以关闭【不建议】

http.csrf().disable();

2.以 form 表单的形式请求 /logout 接口

代码语言:javascript
复制
<form th:action="@{/logout}" method="post">
    <input type="hidden" name="${_csrf.parameterName }" value="${_csrf.token }"/>
    <input type="submit" value="logout">
</form>

3.在 spring security 的配置中,添加 /logout 能够以 GET 请求的配置

代码语言:javascript
复制
@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/home")
                .logoutRequestMatcher(new AntPathRequestMatcher("/logout", "GET"))
                .deleteCookies("JSESSIONID")
                .invalidateHttpSession(true)
                .and();
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决方案
    • 1.很有可能开启了CSRF防护,可以关闭【不建议】
      • 2.以 form 表单的形式请求 /logout 接口
        • 3.在 spring security 的配置中,添加 /logout 能够以 GET 请求的配置
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档