首页 > 解决方案 > Spring Boot csrf 使用

问题描述

我只想将 CSRF 令牌与一些用于直接访问的 url 一起使用。

而且我不想将 CSRF 用于该 url,这些 url 基本上是 REST apis 用于另一端。

标签: springspring-boot

解决方案


我发现最简单的方法是创建一个带有模式的字符串数组,如下所示:

String [] publicUrls = new String [] {
            "/public/**",
            "/login",
            "/logout"
    };

这是我在 CSRF 中使用的代码。忽略 URL 的代码是这个.ignoringAntMatchers(publicUrls):

http.csrf()
        .csrfTokenRepository(csrfTokenRepository())
        .ignoringAntMatchers(publicUrls)

Spring官方文档参考


推荐阅读