我只想使用CSRF令牌和一些用于直接访问的URL。
而且我不想为那个基本上是REST api的url使用CSRF。
答案 0 :(得分:2)
我发现最简单的方法是创建一个带有模式的String数组,如下所示:
String [] publicUrls = new String [] {
"/public/**",
"/login",
"/logout"
};
这是我在CSRF中使用的代码。忽略网址的代码是 .ignoringAntMatchers(publicUrls):
http.csrf()
.csrfTokenRepository(csrfTokenRepository())
.ignoringAntMatchers(publicUrls)
答案 1 :(得分:1)
您可以直接将此代码用于需要在CSRF中提供的特定类型的请求。
http.csrf().ignoringAntMatchers("/rest/v1/**");
这里/ rest / v1 / **将允许您服务器上的所有请求以“rest / v1 /".
开头