Spring boot csrf使用

时间:2018-05-29 13:18:16

标签: spring spring-boot

我只想使用CSRF令牌和一些用于直接访问的URL。

而且我不想为那个基本上是REST api的url使用CSRF。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

Spring official doc ref

答案 1 :(得分:1)

您可以直接将此代码用于需要在CSRF中提供的特定类型的请求。

http.csrf().ignoringAntMatchers("/rest/v1/**");

这里/ rest / v1 / **将允许您服务器上的所有请求以“rest / v1 /".

开头